Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 多个相似表的一个实体_Entity Framework - Fatal编程技术网

Entity framework 多个相似表的一个实体

Entity framework 多个相似表的一个实体,entity-framework,Entity Framework,在数据库中有两个表 它们有完全相同的列,只是它们之间的区别——它们有不同的名称 假设我有一个列Id和名称相同的tableEA和列Id和名称相同的TableOcean 我想使用EF4来支持CRUD操作,我还想使用存储过程映射来执行插入更新和删除操作 我已经为第一个表创建了POCO实体,并且创建了存储过程并将它们映射到实体模型。一切正常 如何在不为第二个表创建新实体的情况下使用两个表?好吧,你不能,你绝对不应该 如果您有两个相同的数据库表,则这意味着: 这两张桌子相映成趣 海洋和海洋等相关概念 在你

在数据库中有两个表

它们有完全相同的列,只是它们之间的区别——它们有不同的名称

假设我有一个列Id和名称相同的tableEA和列Id和名称相同的TableOcean

我想使用EF4来支持CRUD操作,我还想使用存储过程映射来执行插入更新和删除操作

我已经为第一个表创建了POCO实体,并且创建了存储过程并将它们映射到实体模型。一切正常


如何在不为第二个表创建新实体的情况下使用两个表?

好吧,你不能,你绝对不应该

如果您有两个相同的数据库表,则这意味着:

这两张桌子相映成趣 海洋和海洋等相关概念 在你的例子中。 两张桌子 镜像不同的概念 偶然也有同样的 财产。 根据哪个场景更接近现实,您有以下两个设计选项:

合并两个表并添加一个 键入属性列,然后键入映射 将其转换为一个实体类型。你可以 有不同的子类 区分不同类型,或者 可以再加一种 财产-以更适合的为准 你 我有两张桌子。这意味着:有两个不同的概念。因此,这必须由业务模型中的两个不同实体反映。 在任何情况下,在数据库中拥有实体表意味着在业务模型中拥有实体类。如果没有这样的1:1映射,那么设计显然有问题

托马斯