Arv*_*ngh 16 .net linq entity-framework linqpad
我能做到
var result = OAS_Questions.Count (oasq => oasq.Id!=0);
result.Dump();
Run Code Online (Sandbox Code Playgroud)
乃至
var result = OAS_Questions;
result.Dump();
Run Code Online (Sandbox Code Playgroud)
但是当我试图将"问题"的子对象包含在"Opitons"中时
var result = OAS_Questions.Include("OAS_QuestionOptions");
result.Dump();
Run Code Online (Sandbox Code Playgroud)
我看到以下错误
'System.Data.Linq.Table'不包含'Include'的定义,也没有扩展方法'Include'接受类型为'System.Data.Linq.Table'的第一个参数'(按F4添加使用指令或汇编参考)
我已经尝试添加对以下程序集引用的引用.
但是在编写查询时仍然无法使用扩展方法"Include()",它会产生语法错误.
小智 30
如果您通过LinqPad使用EF,那么更好的方法是使用强类型版本.Include(http://msdn.microsoft.com/en-us/library/gg671236%28VS.103%29.aspx),如下所示:
EntityFramework.dllSystem.Data.Entity然后你有intellisense并且可以使用.Include的强类型版本,例如:
var result = OAS_Questions.Include(q => q.OAS_QuestionOptions);
Run Code Online (Sandbox Code Playgroud)
您需要使用EntityFramework项目的DLL中的Typed DataContext(ObjectContext或DbContext).您可以通过执行以下步骤来执行此操作:
Choose Data Context向导中,选择该Use a typed data context from your own assembly选项.Browse右上角并导航到然后选择EF项目组件.Server,Log on details和database,然后单击确定.您现在应该可以.Include在LinqPad中使用该语句.
默认情况下,Linqpad 使用 Linq2Sql DataContext,它不允许您执行包含操作。
要获取包含扩展方法,请使用项目程序集中的类型化 DataContext (EF4.x /EF5)
| 归档时间: |
|
| 查看次数: |
11364 次 |
| 最近记录: |