在数据库中有两个表。
它们具有完全相同的列,只有它们之间的区别 - 它们具有不同的名称。
假设我有TableSea的列s Id,Name和TableOcean,列ID和名称相同。
我想使用EF 4进行CRUD操作,我也想使用存储过程映射进行插入更新和删除操作。
我已经为第一个表创建了POCO实体,我确实创建了存储过程并将它们映射到实体模型。一切顺利。
如何在没有为第二个表创建新实体的情况下使其与两个表一起使用?
答案 0 :(得分:0)
AFAIK,你不能,你绝对不应该!
如果您有两个相同的数据库表,则表示以下之一:
根据哪种情况更接近现实,您有以下两种设计选择:
Type
属性(列),然后是map
它属于一种实体类型。你可能会
有不同的子类
区分不同的类型,或者你
可以额外增加Type
财产 - 适合哪个更适合
你。在任何情况下,在数据库中拥有实体表意味着在业务模型中具有实体类。如果没有这样的1:1 - 映射,那么设计显然有问题!
托马斯