Nuget包在LCL中使用EntityFramework作为ORM LCL.Repositories.EntityFramework。您应该将它添加到您的应用程序中。最好在应用程序的一个独立的程序集(dll)中实现EntityFramework,并依赖于这个程序集的包。
如您所知,要使用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问起表。 我不喜欢用数据注释属性配置它,而是喜欢使用流畅的配置。你可以选择你喜欢的方式。
存储库用于从更高的层抽象数据访问。更多信息请参阅存储库文档。
public class RoleRepository : EntityFrameworkRepository<Role>, IRoleRepository { public RoleRepository(IRepositoryContext context) : base(context) { } }
由于LCL与EntityFramework进行了内置集成,因此它可以与数据存储实体框架支持。我们的免费启动模板是用来与Sql Server一起工作的,但是您可以修改它们以使用不同的数据存储。