Joh*_*n S 1 sql linq linq-to-entities entity-framework
当我查看EF生成的SQL查询时,我看到了
SELECT [extent1].ID as ID,
[extent1].Name as Name
From(
Select myview.ID as ID,
myview.Name as Name
From myview) AS [extent1]
Where([Extent1].ID = @p_linq_0)
Run Code Online (Sandbox Code Playgroud)
为什么外部选择发生在内部选择?我有一个非常大的表,我可以轻松地从外部查询获得记录,但整个查询结合时间超时.
我的Linq查询
var result = from i in invitationEntity.Invitations
.Where(a=>a.id == inviationId)
select i;
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL 2012和EF5&Linq.
有没有办法"强制"更简单的查询?
因为您在最后再次使用LINQ方法调用"SELECT".
var result = from i in invitationEntity.Invitations
.Where(a=>a.id == inviationId)
select i;
Run Code Online (Sandbox Code Playgroud)
最后一行选择i,没用,但EF不知道它是否有任何有用的东西,你可以简单地避免它.
var result = invitationEntity.Invitations
.Where(a=>a.id == inviationId);
Run Code Online (Sandbox Code Playgroud)
您仍然可以枚举结果并获取所有内容.
好对不起,我忘了添加,你不必使用"from",你可以简单地使用.Where(表达式)
如果你想使用LINQ关键字,那么你可以这样使用它,
var result = from i in invitationEntity.Invitations
where i.id == invitationId
select i;
Run Code Online (Sandbox Code Playgroud)
您不能混用LINQ关键字和LINQ扩展方法.
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |