我正在研究Compiled Queries
以提高LINQ查询的性能。我定义了一个单独的类&写了一个函数: -
public static Func<ApplicationDbContext, IQueryable<EmployeeDetail>>
CompliedQueryForEmployee =
CompiledQuery.Compile((ApplicationDbContext context) => from c in
context.tblEmployee select c);
如果我在使用上面的函数时使用DataContext
,则会将错误视为无效参数。
这是我访问表格的方式: -
using (var ctx = new ApplicationDbContext(schemaName))
{
....
ctx.tblEmployee.ToList();
}
究竟如何写&amp;使用编译的查询?
答案 0 :(得分:4)
编译查询,正如您使用它们,来自LINQ to SQL(DataContext)和实体框架预编码优先(ObjectContect)。 实体框架代码优先(DbContext和ApplicationDbContext)不使用它们,或者更确切地说,LINQ查询总是在第一次使用时进行编译和缓存。 请参阅https://msdn.microsoft.com/en-gb/data/hh949853.aspx。