我支持的遗留应用程序具有LINQ
代码,如下所示:
query1 = (from s in DBContext.Table_A JOIN DBCOntext.Table_B ON A.ID=B.ID
where a.SUPERVISOR = '9999' Select new ClassA {....}
query2 = (from s in DBContext.Table_A JOIN DBCOntext.Table_B ON A.ID=B/ID
where a.APPROVER = '1111' Select new ClassA {....}
query1.join(query2).ToList()
我的问题是可以使用JOIN
将上述2个查询合并为1个查询。请注意,2个查询之间的唯一区别是WHERE
子句。
这会导致任何性能改进吗?
需要注意的是,此处使用的所有实体都是视图。
由于 Parameswaran
答案 0 :(得分:0)
唯一可以确定的方法是测试,因为很难知道LINQ可能会使用哪些优化。 在我个人看来,组合它们会更有效率(除非LINQ将其作为引擎优化),因为你只需要经历一次(而不是两次)。 您的where子句可以重写为:
where a.SUPERVISOR='9999' or a.APPROVER='1111'