有如下代码,请大家帮我分析下,到底哪个的性能好一点
方案1:
IQueryable<Biz_TableA> tableAQueryable = uow.Biz_TableA.GetAll().where(o=>o.status==false);
IQueryable<Biz_TableB> tableBQueryable = uow.Biz_TableB.GetAll();
tableBQueryable = tableBQueryable.where(o=>tableAQueryable.select(p=>p.Id).Contains(o.Id))
方案2:
IQueryable<Biz_TableA> tableAQueryable = uow.Biz_TableA.GetAll();
IQueryable<Biz_TableB> tableBQueryable =uow.Biz_TableB.GetAll().join(
tableAQueryable,a=>a.Id,b=>b.Id,(a,b)=>new {a,b}).where(o=>o.a.status==false).select(o=>o.b)
)
另外,还有什么更好的写法么,请指教,谢谢。
看上去都很差
uow.Biz_TableA.join(uow.Biz_TableB,a=>a.Id,b=>b.Id,(a,b)=>new {a,b}).where(o=> !o.a.status).select(o=>o.b)