使用类库之外的类作为EF的实体

时间:2015-09-15 06:02:11

标签: c# entity-framework serialization

假设我的一个类库中有一个class AClass,我在多个项目中使用它。

现在我构建了一个使用此AClass的新项目,并希望使用Entity Framework将其存储到数据库中。

我不想编写包装类并将每个属性从AClass分配到AClassEntityWrapper,反之亦然。 也许它可以自动进行?序列化? IDK ..

另一方面,我不能将AClass声明为实体,因为我也不想将实体框架包含在所有其他项目中。

是否有简单的可能性来处理这种情况?

1 个答案:

答案 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");
    }
}