【发布时间】:2014-06-09 20:37:07
【问题描述】:
我正在使用 Code First EntityFramework (version="6.1.0") 和 EntityFramework.Extended (version="6.1.0.96,目前来自 here 的最新版本。DbContext 暴露了 DbSets,其访问方式如下:
var set = ctx.Set<MyEntity>();
今天我决定尝试 EntityFramework.Extended 库的Future Queries,很快就结束了,不知道如何继续。
这里是示例代码:
using (var ctx = new MyDbContext())
{
var u = ctx.Set<User>().Future();
var c = ctx.Set<Country>().Future();
var users = u.ToList();
}
关于Future() 文档,我应该只得到一个数据库查询,这是Future() 方法提供的。查询应该在u.ToList(); 启动,但会发生这样的错误:
JIT 编译器遇到内部限制。
堆栈跟踪潜水告诉我:
在 EntityFramework.Future.FutureQueryBase 1.GetResult()
在 EntityFramework.Future.FutureQuery 1.GetEnumerator()
在 System.Collections.Generic.List 1..ctor(IEnumerable 1 集合)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable 1 源)
在 c:\Users\...\App\Program.cs:第 25 行中的 App.Program.Main(String[] args)
我真的不知道我错过了什么。我检查了我的ConnectionString 已将MultipleResultSets 设置为TRUE。
我已经用EF.Exteneded 的早期版本对此进行了测试,但发生了同样的错误。
任何想法都会有很大帮助。
【问题讨论】:
-
@draeron 已检查,但没有任何进展,我现在会检查,也许在一些更新取得进展后...谢谢您的反馈。
-
@VedranMandić 我确信你不再有这个问题了,但是:这个错误通常发生在 JIT 编译 IL 时出现错误(堆栈上的错误类型等) .我对 EntityFramework.Extended 不是很熟悉,但我希望它确实做到了。
-
我确实使用具有 Id 和 Name 属性的简单 POCO 测试了您的代码,并且没有任何问题。您是否尝试过创建一个新项目并从头开始对其进行测试?
-
尝试安装Entity Framework 6.1.3
标签: c# .net entity-framework jit entity-framework-extended