我一直在使用Entity Framework,现在想使用LINQ代码进行查询。我以为如果我几乎完全从我的参考书“Entity Framework 4 In Action”中复制了代码,我的代码就可以编译。
这是我的代码:
from a in db.addresses
where a.accountId == 1
Select o;
出乎意料的是,intellisense没有接受我的任何代码。因此,我进行了一些研究,并添加了项目参考,web.config程序集参考以及使用对LINQ的参考
using System.Data.Linq;
并编辑了web.config以包括
<assemblies>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
即使如此,Intellisense和编译器仍然不接受关键字“in”或db.addresses(db是上下文,而在我的文件中的其他地方,我也可以像这样进行调用:
users currentUser = db.users.Single(m => m.email == User.Identity.Name);
所以问题也不是我的数据库上下文。我已经搜索了栈,asp.net,并用谷歌搜索了“LINQ语法未编译”,但找不到任何进一步的线索。
这是我的编译器错误:
错误14;预期147 20 AdamsStore
错误15;预期147 23 AdamsStore
错误16;预期148 23 AdamsStore
错误17;预期148 39 AdamsStore
错误13无效的表达式术语'in'147 20 AdamsStore
错误8仅赋值,调用,递增,递减和新对象表达式可以用作语句147 18 AdamsStore
错误10仅赋值,调用,递增,递减和新对象表达式可以用作语句148 23 AdamsStore
错误7找不到类型或 namespace 名称'from'(您是否缺少using指令或程序集引用?)147 13 AdamsStore
错误11找不到类型或 namespace 名称“选择”(您是否缺少using指令或程序集引用?)149 21 AdamsStore
最佳答案
select
必须为小写using System.Linq
using System.Data.Linq