我想在同一张表中使用两个不同的实体。拥有两个实体的目的是为了限制其中一个实体中的属性数量,因为在某些编辑表单中只能更改其中少数属性。
为了避免将不可编辑的属性隐藏以保留它们的值,我认为创建一个仅包含部分属性的单独实体是个好主意。
因此,我有一个包含所有属性的实体和一个只有部分属性的实体。问题在于,我收到了这个异常:
“实体类型 'ApplicationMapping' 和 'ApplicationMappingFull' 不能共享 'ApplicationMapping' 表,因为它们不在同一类型层次结构中,或者它们之间没有有效的一对一外键关系,匹配主键之间的关系。”
实体配置类如下:
class ApplicationMappingFullConfiguration : EntityTypeConfiguration<ApplicationMappingFull>
{
public ApplicationMappingFullConfiguration()
{
ToTable("ApplicationMapping");
HasKey(p => p.Id);
}
}
class ApplicationMappingConfiguration : EntityTypeConfiguration<ApplicationMapping>
{
public ApplicationMappingConfiguration()
{
ToTable("ApplicationMapping");
HasKey(p => p.Id);
}
}
我怎样才能实现我想做的事情?有没有更好/更简单的方法来做到这一点?
谢谢!
ApplicationMappingFull
继承自ApplicationMapping
吗?您能否将这些类的代码添加到您的问题中? - Henk Mollema