sqlquery related query fromsql framework c# .net entity-framework jit entity-framework-extended

c# - related - EntityFramework.Extended Future error(limitación interna del compilador JIT)



sql query ef core (2)

Así que para sumar después de un año más tarde; EntityFramework.Extended Entity Framework a la última versión 6.1.3, instalé la última biblioteca EntityFramework.Extended , y una cosa a tener en cuenta es que utilicé el enfoque "Base de datos primero" para la prueba y todo salió bien. Podría haber sido otra cosa extraña fuera de mi control entonces.

Gracias a todos por el apoyo en este caso.

Estoy trabajando con Code First EntityFramework ( version="6.1.0" ) y EntityFramework.Extended (version = "6.1.0.96, la última compilación en este momento desde here .
El DbContext expone los DbSets que se accede como:

var set = ctx.Set<MyEntity>();

Hoy decidí probar Future Queries of the EntityFramework.Extended library y terminé bastante pronto, sin una idea de cómo proceder.

Aquí está el código de ejemplo:

using (var ctx = new MyDbContext()) { var u = ctx.Set<User>().Future(); var c = ctx.Set<Country>().Future(); var users = u.ToList(); }

Con respecto a la documentación de Future() , debería obtener solo una consulta al DB, que es lo que proporciona el método Future() . La consulta debe iniciarse en u.ToList(); pero lo que pasa es que me sale un error como este:

El compilador JIT encontró una limitación interna.

Una inmersión de seguimiento de pila me dice esto:

en EntityFramework.Future.FutureQueryBase 1.GetResult ()

en EntityFramework.Future.FutureQuery 1.GetEnumerator ()

en System.Collections.Generic.List 1..ctor (IEnumerable 1 colección)

en System.Linq.Enumerable.ToList [TSource] (fuente IEnumerable 1)

en App.Program.Main (String [] args) en c: / Users / ... / App / Program.cs: línea 25

Realmente no sé lo que me estoy perdiendo. He comprobado que mi ConnectionString tiene MultipleResultSets configurados en TRUE .
He probado esto con versiones de compilación anteriores de EF.Exteneded pero ocurrió el mismo error.

Cualquier idea sería de gran ayuda.


Podría estar mal, pero creo

ctx.Set<User>()

devuelve un DBSet, mientras que .Future () se supone que debe usarse al final de las consultas. Tal vez si agrega .AsQueryable al final de ctx.Set ()?

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

También creo que puedes usar ctx.users si tienes tu base de datos de EF construida de esa manera.