【问题标题】:LINQ Query that omits any duplicate IDs省略任何重复 ID 的 LINQ 查询
【发布时间】:2018-09-11 14:56:07
【问题描述】:

我有两张桌子。出于简单的原因将它们称为表 A 和表 B,

表 A:

ID int(PK)

客户名 varchar

customeraddy varchar

服务中 布尔值

varchar

varchar

表 B:

PKID int(PK)

ID int()

行名varchar

只是寻找一个 LINQ 查询,它可以从 ID 列上的 Table ATable B 的连接表中选择所有值,其中 inservice == "true"省略基于 ID 的任何重复项(因为表 B 有多个 ID 重复项)。

到目前为止,这是我所拥有的:

from x in db.tableA
join y in db.tableB on x.id equals y.id
where x.inservice == "true"
select y);

【问题讨论】:

标签: c# .net linq


【解决方案1】:

假设inservice 在您的表描述中是bool 而不是string,并假设您需要tableA 和tableB 的行,而tableB 只有一个匹配的行,

var AjoinB = from x in db.tableA
             where x.inservice
             join y in db.tableB on x.id equals y.id
             group new { x, y } by x.id into xyg
             where xyg.Count() == 1
             select xyg;

【讨论】:

  • 所以我认为查询工作正常,但我收到一条错误消息,说我无法将类型 隐式转换为我的 ViewModel 中定义的类型。这会是 ASP.NET MVC 问题吗?
  • @user10192547 我认为您需要提出一个单独的问题或在此问题中显示更多代码来解释您的目的。
猜你喜欢
  • 1970-01-01
  • 2012-07-31
  • 2014-02-23
  • 1970-01-01
  • 2013-02-03
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多