我有一个实体:
namespace Project.Models.DbModels
{
public class MyEntity
{
public long Id { get; set; }
public long Number { get; set; }
public SomeOtherEntity otherEntity{ get; set; }
}
}
我将其子类化为添加SomeOtherEntity列表(作为视图模型),以便在视图中将其用作下拉列表。
namespace Project.Models.ViewModels
{
public class MyNewEntity : MyEntity
{
public List<SomeOtherEntity> otherEntities { get; set; }
}
}
Db上下文是:
namespace DskVault.Models.DbModels
{
public class MyDbContext : DbContext
{
public MyDbContext()
: base("DefaultConnection")
{
}
public DbSet<MyEntity> MyEntities { get; set; }
}
}
请注意,MyNewEntity不在上下文中。
问题在于,当我执行Add-Migration时,框架会将列添加到引用MyEntity中的视图模型(MyNewEntity)和discriminator列的SomeOtherEntity。 我怎么能克服这一点。我不希望驱动类(MyNewEntity)由EF和数据库管理,以便更新。
答案 0 :(得分:1)
对实体进行子类化会创建一个新的实体类 - 它将由EF管理。所以不要创建视图模型的子类,而是映射。
子类化通常是一种不合适的技术,因为您经常希望视图模型包含的字段少于实体。