【问题标题】:Using a class out of class library as a Entity for EF使用类库中的类作为 EF 的实体
【发布时间】:2015-09-15 06:02:10
【问题描述】:
假设我的一个类库中有一个class AClass,我在多个项目中使用它。
现在我构建了一个新项目,它使用这个 AClass 并希望使用实体框架将其存储到数据库中。
我不想编写一个包装类并将每个属性从AClass 分配给AClassEntityWrapper,反之亦然。
也许它可以自动?序列化?不知道。。
另一方面,我不能将AClass 声明为实体,因为我不想将实体框架也包含到所有其他项目中。
是否有一种简单的可能性来处理这种情况?
【问题讨论】:
标签:
c#
entity-framework
serialization
【解决方案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");
}
}