问个简单的EF多条记录查询的问题

sun_zf 2020-11-20 03:40:00
用EF查询,简单的就用Find直接查Id,现在有个小问题,有好几个id,放一个List里,是必须用Find一个个查出来,还是有什么更简单快速的方法?创建临时表的话性能怎么样,比一条条查要快速吗?
...全文
9926 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun_zf 2020-12-02
  • 打赏
  • 举报
回复
引用 5 楼 qq_38191951 的回复:
用Contains
如 var query = DB.ElecConsumers.Where(c => unitIDList.Contains(c.ParentUnitID));


感谢!!
正怒月神 2020-11-23
  • 打赏
  • 举报
回复
引用 5 楼 qq_38191951 的回复:
用Contains 如 var query = DB.ElecConsumers.Where(c => unitIDList.Contains(c.ParentUnitID));
正解。不赘述了
qq_38191951 2020-11-23
  • 打赏
  • 举报
回复
用Contains 如 var query = DB.ElecConsumers.Where(c => unitIDList.Contains(c.ParentUnitID));
sun_zf 2020-11-22
  • 打赏
  • 举报
回复
EF没有系统的学过,只看了几个例子,按理讲应该有性能好的办法的。
sun_zf 2020-11-22
  • 打赏
  • 举报
回复
不好意思,我可能没讲清楚,大体这样的
有这样的一个数组:
List<String> ids ;
ids.add("aaaa");
ids.add("cccc");
ids.add("fffff");

//
查询时
List<model> datas = new List<model>();
foreach(String id in ids)
{
datas.add(context.Data.Find(id));
}
return datas;

//
有没有更好的方法?
  • 打赏
  • 举报
回复
直接子查询不行吗
lorimoon 2020-11-20
  • 打赏
  • 举报
回复
这不是明显一次查出来比较好吗?不用临时表,如果list 有几万个id 那么当我没说。

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧