从'ApplicationDbContext'到'System.Data.Linq.DataContext'没有隐式引用转换

时间:2016-07-07 12:38:05

标签: c# .net linq

我正在研究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;使用编译的查询?

1 个答案:

答案 0 :(得分:4)

编译查询,正如您使用它们,来自LINQ to SQL(DataContext)和实体框架预编码优先(ObjectContect)。 实体框架代码优先(DbContext和ApplicationDbContext)不使用它们,或者更确切地说,LINQ查询总是在第一次使用时进行编译和缓存。 请参阅https://msdn.microsoft.com/en-gb/data/hh949853.aspx