Nuget包在LCL中使用EntityFramework作为ORM LCL.Repositories.EntityFramework。您应该将它添加到您的应用程序中。最好在应用程序的一个独立的程序集(dll)中实现EntityFramework,并依赖于这个程序集的包。

DbContext

如您所知,要使用EntityFramework,您应该为您的应用程序定义一个DbContext类。下面显示了一个DbContext示例:

    public class EFTestContext : BaseDbContext
    {
        #region Ctor
        public EFTestContext()
            : base("LCL")
        {
        }
        public EFTestContext(string nameOrConnectionString)
            : base(nameOrConnectionString)
        {
            EntityTypeConfigurations = Assembly.GetExecutingAssembly().GetTypes();
        }
        #endregion
        #region Public Properties
        public DbSet<Role> Roles
        {
            get { return Set<Role>(); }
        }
        #endregion
 
        #region Protected Methods  
        public override void LModelCreating(DbModelBuilder modelBuilder)
        {
          
        }
        #endregion
    }

它是一个常规的DbContext类

EntityFramework可以用传统的方式将类映射到数据库表。你甚至不需要做任何配置,除非你做一些自定义的东西。 在本例中,我们将实体映射到不同的表。默认情况下,任务实体映射到任务表。但我们把它改成了stst问起表。 我不喜欢用数据注释属性配置它,而是喜欢使用流畅的配置。你可以选择你喜欢的方式。

EF仓库(EntityFrameworkRepository)

存储库用于从更高的层抽象数据访问。更多信息请参阅存储库文档

public class RoleRepository : EntityFrameworkRepository<Role>, IRoleRepository
{
    public RoleRepository(IRepositoryContext context)
        : base(context)
    { }
}

数据仓库(Data Stores)

由于LCL与EntityFramework进行了内置集成,因此它可以与数据存储实体框架支持。我们的免费启动模板是用来与Sql Server一起工作的,但是您可以修改它们以使用不同的数据存储。