无法使用LINQ语法编译我的项目

时间:2012-10-20 19:44:16

标签: linq c#-4.0 entity-framework-4

我一直在使用Entity Framework,现在想用LINQ代码进行查询。我假设我的代码只是编译,如果我几乎逐字地从我的参考书“实体框架4在行动”中复制它。

这是我的代码:

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'147 20 AdamsStore

中的表达式术语无效      

错误8只有赋值,调用,递增,递减和新对象表达式才能用作语句147 18 AdamsStore

     

错误10只有赋值,调用,递增,递减和新对象表达式才能用作语句148 23 AdamsStore

     

错误7找不到类型或命名空间名称'from'(您是否缺少using指令或程序集引用?)147 13 AdamsStore

     

错误11找不到类型或命名空间名称“select”(您是否缺少using指令或程序集引用?)149 21 AdamsStore

1 个答案:

答案 0 :(得分:3)

  1. select需要小写
  2. 即使您有using System.Linq
  3. ,仍然需要using System.Data.Linq