我有三种类型MaliOp,LoanEBD,PrmEBD
<script language="javascript" type="text/javascript">
<xsl:text>
function collapseandexpand(){
if(document.getElementById ('subList').style.display == 'none')
document.getElementById ('subList').style.display = 'block';
else
document.getElementById ('subList').style.display = 'none';
}
</xsl:text>
</script>
两个实体PrmEBD和LoanEBD继承自MaliOp。我希望通过使用这三种类型在Entity Framework中创建DBContext。 我在每个数据库中有三个数据库表。 我不想使用任何EF Inhertance Strategy并将每个策略添加为Independent Types。但不能和EF使用Inhertance策略中的任何一个。 我怎么能这样做?
答案 0 :(得分:2)
这两个类代表DTO(数据传输对象)。对于DTO-s来说有很多策略
你应该避免让Classes继承实体,否则你的应用程序类会过于紧密耦合,并且更改可能会让他们自己变得太痛苦
答案 1 :(得分:0)
在您的上下文中,覆盖OnModelCreating;
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<PrmEBD>().ToTable("PrmEBDs");
modelBuilder.Entity<LoanEBD>().ToTable("LoanEBD");
modelBuilder.Entity<MaliOp>().ToTable("MaliOp");
}
这将在您的数据库中创建三个单独的表。
当您对MaliOp进行查询时,您需要确保不从所有三个表中提取实例。您可能想要为所有三个创建共同interface
的方法,以便它们实际上也不会相互继承