1 创建实体类:
public partial class NewsCategory : IAggregationRoot
{
public NewsCategory() { }
public Guid Id { get; set; }
public string CategoryName { get; set; }
public bool IsDel { get; set; }
public string Code { get; set; }
}
2.创建实体类的映射伙伴类
public class NewsCategoryMap : IEntityTypeConfiguration<NewsCategory>
{
public void Configure(EntityTypeBuilder<NewsCategory> builder)
{
builder.ToTable("NewsCategory");
}
}
3.在上下文中 重写 OnModelCreating方法 将伙伴类的应用上
public class NewsEFCoreContext:DbContext,INewsContext
{
public DbSet<NewsCategory> Categories { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
//先直接写连接字符串,生成数据库。后续再在配置文件中配置,并使用到此处
optionsBuilder.UseSqlServer("Server=localhost;Database=wehope;User ID=sa;Password=0");
//optionsBuilder.UseSqlServer(AppSetting.GetAppSetting("DealerContext"));
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyConfiguration<NewsCategory>(new NewsCategoryMap());
base.OnModelCreating(modelBuilder);
}
}
完成。

EF Core如何使用IEntityTypeConfiguration<TEntity>
首先构建IEntityTypeConfiguration<T>抽象泛型继承类KopEntityTypeConfiguration
public abstract class KopEntityTypeConfiguration<T> : IEntityTypeConfiguration<T>
创建基于 KopEntityTypeConfiguration类的 GroupMappingMap
public class GroupMappingMap : KopEntityTypeConfiguration<GroupMapping>
实现 KopEntityTypeConfiguration类的 Configure函数
public override void Configure(EntityTypeBuilder<GroupMapping> builder)
在数据上下文 ApplicationDbContext : DbContext实现的 OnModelCreating函数中,使用ModelBuilder实现应用设置
OnModelCreating函数的全部代码是
protected override void OnModelCreating(ModelBuilder builder)
{
builder.ApplyConfiguration(new GroupMappingMap());//应用设置
base.OnModelCreating(builder);
// Customize the ASP.NET Identity model and override the defaults if needed.
// For example, you can rename the ASP.NET Identity table names and more.
// Add your customizations after calling base.OnModelCreating(builder);
}
这篇博客介绍了如何在EFCore中创建实体类,如NewsCategory,并通过IEntityTypeConfiguration<T>创建映射伙伴类NewsCategoryMap。接着,展示了在NewsEFCoreContext上下文中如何重写OnModelCreating方法,应用配置类进行数据库表的映射。这个过程包括了数据库连接字符串的配置以及实体属性的映射设置。
729

被折叠的 条评论
为什么被折叠?



