Akr*_*rem 9 c# linq comparison join
我正在使用下面的第一种方法,但后来我找到了第二种方法,想知道差异,哪种方法最好.
有什么区别:
from a in this.dataContext.reglements
join b in this.dataContext.Clients on a.Id_client equals b.Id
select...
Run Code Online (Sandbox Code Playgroud)
和
from a in this.dataContext.reglements
from b in this.dataContext.Clients
where a.Id_client == b.Id
select...
Run Code Online (Sandbox Code Playgroud)
我创建了一个测试用例来测试差异,并且在你的场景中它们是相同的.
我的测试示例使用了AdventureWorks,但基本上之间存在关联
产品展示 - > CategoryId->分类
var q = (
from p in Products
from c in Categories
where p.CategoryID==c.CategoryID
select p
);
q.ToList();
Run Code Online (Sandbox Code Playgroud)
生成这个SQL:
SELECT [t0].[ProductID], [t0].[ProductName], [t0].[CategoryID]
FROM [Products] AS [t0], [Categories] AS [t1]
WHERE [t0].[CategoryID] = ([t1].[CategoryID])
Run Code Online (Sandbox Code Playgroud)
var q2 = (
from p in Products
join c in Categories
on p.CategoryID equals c.CategoryID
select p);
q2.ToList();
Run Code Online (Sandbox Code Playgroud)
生成这个sql:
SELECT [t0].[ProductID], [t0].[ProductName], [t0].[CategoryID]
FROM [Products] AS [t0]
INNER JOIN [Categories] AS [t1] ON [t0].[CategoryID] = ([t1].[CategoryID])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |