Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
C# 为多个实体拆分表_C#_Entity Framework - Fatal编程技术网

C# 为多个实体拆分表

C# 为多个实体拆分表,c#,entity-framework,C#,Entity Framework,我试图在一个表中保存多个实体。其中有些是1:1的相关性,但有些有特定的字段,所以从较高的层次来看,它是这样的 Table ------ Key Type A B C D Entity 1 (Where Type is 1) ------ Key Type A Entity 2 (Where Type is 2) ------ Key Type A B Entity 3 (Where Type is 3) ------ Key Type B C D 实体框架不是风扇,因为E1、E2和E3

我试图在一个表中保存多个实体。其中有些是1:1的相关性,但有些有特定的字段,所以从较高的层次来看,它是这样的

Table
------
Key
Type 
A
B
C
D

Entity 1 (Where Type is 1)
------
Key
Type
A

Entity 2 (Where Type is 2)
------
Key
Type
A
B

Entity 3 (Where Type is 3)
------
Key
Type
B
C
D
实体框架不是风扇,因为E1、E2和E3都映射到同一个表并抛出此错误

实体类型“E1”和“E2”无法共享表“table”,因为它们不在同一类型层次结构中,或者它们之间没有有效的一对一外键关系,并且主键匹配


所以我已经读过关于表拆分的内容,但是如果您有共享属性的实体,并且我找不到任何不是“代码优先”的好资源,那么表拆分似乎不起作用。此外,似乎没有办法不包括与实体无关的其他字段,因为表拆分示例似乎需要对其他实体进行虚拟化。此外,我也找不到任何可能根据类型进行过滤的内容。做这样的事有什么想法吗?有可能吗

在不知道关联和多重性的情况下很难说,但我认为您需要一个没有A、B、C或D的抽象类型,并使所有类型都从中继承。这就是我所做的。我想使用TPH模型,但我不知道如何让它工作。尽管我尝试了很多次,我还是不断收到无效的列名鉴别器错误。如果您找到了解决方案,您是否有任何关于解决方案的提示?@Rabskatran我相信升级到最新的实体框架可以让您做到这一点。