关于Linq内连接一个比较二的有关问题
关于Linq内连接一个比较二的问题
Linq 做内连接
以下俩写法效果是一样的:
方法一:
方法二:
这俩写法是不是就是
的区别。
那么在SQL里这俩写法其实会被数据库优化成相同的执行计划。Linq里也是一样的么?
------解决方案--------------------
方法1的效率比方法2要低很多很多。
因为方法1需要判断a*b次,而方法2只需要a+b次。
Linq 做内连接
以下俩写法效果是一样的:
方法一:
var v5 = from a in CurrentBOM.Materials
from b in CurrentBOM.Processes
where a.ProcID == b.ID
select new
{
a.Material,
b.Process
}
方法二:
var v6 = from a in CurrentBOM.Materials
join b in CurrentBOM.Processes on a.ProcID equals b.ID
select new
{
a.Material,
b.Process
};
这俩写法是不是就是
Select * from A,B Where A.ID=b.ID
Select * from A Inner Join B On A.ID=B.ID
的区别。
那么在SQL里这俩写法其实会被数据库优化成相同的执行计划。Linq里也是一样的么?
------解决方案--------------------
方法1的效率比方法2要低很多很多。
因为方法1需要判断a*b次,而方法2只需要a+b次。