GetTable in ApplicationDbContext : IdentityDbContext<Appl
本文关键字:lt Appl IdentityDbContext in ApplicationDbContext GetTable | 更新日期: 2023-09-27 18:36:21
我正在尝试将我的 LinQ 语句转换为预编译语句。
我正在使用本指南:LinQ opti
我像这样构造数据库连接:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
public DbSet<UserType> UserType { get; set; }
}
此静态类如下所示:
public static class clsCompiledQuery
{
//UserType
public static Func<ApplicationDbContext, string, IQueryable<UserType>>
getUserTypeByCode = CompiledQuery.Compile((ApplicationDbContext db, string UserTypeCode)
=> from tbUserType in db.GetTable<UserType>()
where tbUserType.UserTypeCode == "PAR"
select tbUserType);
}
.db。GetTable() 在 ApplicationDbContext 中不可用
有没有办法从ApplicationDbContext创建GetTable?
这对我来说是新的领域,我在这方面有点迷茫。这个任务/主题的原因是 LinQ 很慢,我需要找到更好的性能。
由于您使用的是EF6
因此无论代码针对何种.net framework
运行,都会自动编译查询。
您在问题中提供的链接日期为 2009 年,当时预编译查询是有意义的。
给一点历史
-
EF6 是独立于 .net 框架的第一个版本
-
如果在框架 4.5+ 中运行,EF4 和 EF5 可以利用预编译的功能