ABE*_*ILA 2 .net c# asp.net-mvc
我正在尝试使用where语句从EF查询中获取ItemsEntity。该条件从另一个EF查询中获得item_id,该查询返回了多个item_id。
var item_id = (from n in db.OrderDetail where n.OrderId == id select n.item_id);
var itemEntity = (from m in db.ItemsEntity where *m.item_id==item_id* select m);
Run Code Online (Sandbox Code Playgroud)
Contains想要在Where子句中使用集合时可以使用method
var listOfIds = (from n in db.OrderDetail where n.OrderId == id select n.item_id);
var itemEntity = (from m in db.ItemsEntity where listOfIds.Contains(m.item_id) select m);
Run Code Online (Sandbox Code Playgroud)
请记住,使用上面的代码,itemEntity变量将是collection。如果要单个项目,请使用FirstOrDefault()或First()所需的方法。
上面的代码也可以写成下面的LINQ方法链
var listOfIds = db.OrderDetail.Where(n=>n.OrderId == id).Select(x=>x.item_id);
var itemEntity = db.ItemsEntity.Where(m=>listOfIds.Contains(m.item_id));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4019 次 |
| 最近记录: |