【发布时间】:2015-02-13 09:14:22
【问题描述】:
我正在尝试使用以下方法实现软删除模式: https://stackoverflow.com/a/18985828/213725
但是,我在为 Table Per Type 继承实现它时遇到了困难。假设我将Entity 映射到表“Entity”,并将其后代ConcreteEntity 映射到表“ConcreteEntity”。我在“实体”表中有IsDeleted 列来指定实体是否被“删除”。
我在OnModelCreating 中尝试做的事情如下:
modelBuilder.Entity<Entity>()
.Map<Entity>(m =>
{
m.ToTable("Entity");
m.Requires("IsDeleted").HasValue(false);
})
.Map<ConcreteEntity>(m =>
{
m.ToTable("ConcreteEntity");
});
虽然我不工作。我收到以下错误:
(59,10):错误 3032:从行开始映射片段时出现问题 59, 142:EntityTypes Entity, ConcreteEntity 被映射到 表实体中的相同行。映射条件可用于 区分这些类型映射到的行。
任何想法我做错了什么?
【问题讨论】:
标签: c# .net entity-framework