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 很慢,我需要找到更好的性能。

GetTable in ApplicationDbContext : IdentityDbContext<Appl

由于您使用的是EF6因此无论代码针对何种.net framework运行,都会自动编译查询

您在问题中提供的链接日期为 2009 年,当时预编译查询是有意义的。

给一点历史

  • EF6 是独立于 .net 框架的第一个版本

  • 如果在框架 4.5+ 中运行,EF4 和 EF5 可以利用预编译的功能