【问题标题】:LinqPad Linq Include() extension method is not found even after adding references即使添加了引用,LinqPad Linq Include() 扩展方法也找不到
【发布时间】:2013-02-23 10:32:14
【问题描述】:

我能做到

var result =  OAS_Questions.Count (oasq => oasq.Id!=0);
result.Dump();

甚至

var result =  OAS_Questions;
result.Dump();

但是当我尝试包含“问题”的子对象时,通过

说“选项”
var result =  OAS_Questions.Include("OAS_QuestionOptions");
result.Dump();

我看到以下错误

'System.Data.Linq.Table' 不包含 'Include' 的定义并且没有扩展方法 'Include' 接受 类型的第一个参数 'System.Data.Linq.Table' 可以找到 (按 F4 添加 using 指令或程序集引用)

我已经尝试添加对以下程序集引用的引用。

  1. 系统代码
  2. System.Data
  3. System.Data.Entity
  4. System.Data.Linq
  5. System.Linq.Expressions
  6. System.Data.DataSetExtensions

但是在编写查询时扩展方法“Include()”仍然不可用,并且它给出了语法错误。

【问题讨论】:

    标签: .net entity-framework linq linqpad


    【解决方案1】:

    如果您通过 LinqPad 使用 EF,那么更好的方法是使用强类型版本的 .Include (http://msdn.microsoft.com/en-us/library/gg671236%28VS.103%29.aspx),如下所示:

    1. 打开您的 LinqPad 查询
    2. 右键->查询属性
    3. 添加对EntityFramework.dll的引用
    4. 通过附加命名空间导入选项卡添加System.Data.Entity

    然后你就有了智能感知并且可以使用.Include的强类型版本,例如:

    var result =  OAS_Questions.Include(q => q.OAS_QuestionOptions);
    

    【讨论】:

    • 对于 Entity Framework Core 添加对 Microsoft.EntityFrameworkCore.dll 程序集的引用并添加额外的命名空间 Microsoft.EntityFrameworkCore
    • 没有。正如其他答案正确表明的那样,OP 在 LINQ-to-SQL 中。添加引用不会做任何事情。
    【解决方案2】:

    您需要使用 EntityFramework 项目的 DLL 中的 Typed DataContext(ObjectContextDbContext)。您可以通过执行以下步骤来做到这一点:

    1. 点击应用程序左上角的添加连接链接。
    2. Choose Data Context 向导中,选择Use a typed data context from your own assembly 选项。
    3. 点击适合您的解决方案的 LINQPad 驱动程序选项(LINQ to SQL、EF 4.0 及更低版本或 EF 4.1 及更高版本),然后点击下一步
    4. 单击右上角的Browse 并导航到然后选择您的EF 项目程序集。
    5. 选择实体数据模型,然后单击确定
    6. 指定ServerLog on detailsdatabase,然后点击确定

    您现在应该可以在 LinqPad 中使用 .Include 语句了。

    【讨论】:

      【解决方案3】:

      默认情况下,Linqpad 使用 Linq2Sql DataContext,它不允许您进行包含。

      要获取包含扩展方法,请使用项目程序集 (EF4.x /EF5) 中的 Typed DataContext

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 2011-07-25
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多