假设我的一个类库中有一个class AClass
,我在多个项目中使用它。
现在我构建了一个使用此AClass
的新项目,并希望使用Entity Framework将其存储到数据库中。
我不想编写包装类并将每个属性从AClass
分配到AClassEntityWrapper
,反之亦然。
也许它可以自动进行?序列化? IDK ..
另一方面,我不能将AClass
声明为实体,因为我也不想将实体框架包含在所有其他项目中。
是否有简单的可能性来处理这种情况?
答案 0 :(得分:1)
不确定我是否理解你的问题。 但是你可以映射你的OnModelCreating类 在DbContext中重写OnModelCreating方法和AClass
的配置 public class className : DbContext
{
public DbSet<AClass> AClasses { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new AClassConfiguration());
}
}
让我们假装您的AClass有两个字段
public class AClass
{
public int Id { get; set; }
public string Name { get; set; }
}
public class AClassConfiguration : EntityTypeConfiguration<AClass>
{
public AClassConfiguration()
{
this.ToTable("table_name");
this.HasKey(t => t.Id);
this.Property(t => t.Id).HasColumnName("Id");
this.Property(t => t.Name).HasColumnName("name");
}
}