EntityFramework.Extended Future错误(JIT编译器内部限制)

时间:2014-04-24 13:51:37

标签: c# .net entity-framework jit entity-framework-extended

我正在使用Code First EntityFramework(version="6.1.0")和EntityFramework.Extended(版本=" 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()文档,我应该只向DB发出一个查询,这是Future()方法提供的内容。该查询应该在u.ToList();启动,但会发生的是我收到这样的错误:

  

JIT Compiler遇到内部限制。

堆栈跟踪潜水告诉我:

  

at EntityFramework.Future.FutureQueryBase 1.GetResult()

     

at EntityFramework.Future.FutureQuery 1.GetEnumerator()

     

在System.Collections.Generic.List 1..ctor(IEnumerable 1 collection)

     

在System.Linq.Enumerable.ToList [TSource](IEnumerable 1 source)

     

在c:\ Users \ ... \ App \ Program.cs中的App.Program.Main(String [] args):第25行

我真的不知道我错过了什么。我已检查过我的ConnectionString MultipleResultSets设置为TRUE
我已使用早期版本的EF.Exteneded对此进行了测试,但发生了同样的错误。

任何想法都会有很大帮助。

2 个答案:

答案 0 :(得分:0)

可能是错的,但我认为

ctx.Set<User>() 

返回DBSet,而假设()应该在查询结束时使用.Future()。也许如果你将.AsQueryable追加到ctx.Set()的末尾?

ctx.Set<User>().AsQueryable().Future()

另外我认为你可以使用ctx.users,如果你有这样的EF数据库。

答案 1 :(得分:0)

一年后加起来;将实体框架更新到最新版本6.1.3,安装了最新的EntityFramework.Extended库,需要注意的一点是我先使用了数据库&#39;测试方法一切顺利。那时候我可能还有其他奇怪的东西。

感谢大家对此的支持。