【发布时间】:2019-07-22 20:17:12
【问题描述】:
我有一个物品清单说:
public class Data
{
public Id int;
public Name string;
}
IEnumerable<Data> data = new List<Data>() { new Data(){Id = 1, Name = "1"}, new Data(){Id = 2, Name = "2"}};
现在我想使用 linq 从 SQL db 中获取数据
var result = (from a in dbContext.Table1
join b in dbContext.Table2 on Table1.Key equals Table2.Key
join d in data on new { a.Id, b.Name } equals new { d.Id, d.Name}
select a).ToList();
以上方法不起作用,只有 Premetive Types 或 IEnumerable 是允许的。
我怎样才能做到这一点?
【问题讨论】:
-
请记住,这种方法必须向客户端查询所有数据,然后使用 IEnumerable 连接;最好将过滤器提供给 dbContext 以在 SQL 服务器端运行过滤。
-
请标记正确的数据库。这不是 LINQ-to-SQL。
-
@GertArnold 完成。它将是哪个 LINQ 库?
-
@Michael 这就是这里的问题我有一个我想要过滤的值对列表。我也希望它发生在 SQL 端。
标签: c# linq join linq-to-entities