我有一个Model1.edmx,它有几个表。现在,我不想要表TableA的所有列,所以我创建了另一个实体,并使用表映射将其映射到TableA。
我在做同样的事情时面临很多问题。我得到的错误是,
" Thier primary key may collide".
如果我创建了FK关联,则会显示"Non-Primary-Key column(s) [XXX] are being mapped in both fragments to different conceptual side properties".
我不确定,如果我采取的方法是正确的,因为TableA存在实体集alraedy。
如果这是方法,那将是解决方案。
如果没有,我应该走哪条路。
UPDATE :我确实删除了不需要的属性,我还添加了TableA中其他FK表格的属性。
现在我收到错误" Problem in mapping fragments starting at line 566:Must specify mapping for all key properties (TableAs.ID) of the EntitySet TableAs.
“
UPDATE 我添加了其他表属性,因为它们是FK,我想在UI中的其他表中添加几列。这是一种好的(或可能的)方法吗?或者我应该为它创建类,然后手动映射类的每个属性? 提前谢谢。
答案 0 :(得分:0)
你的意思是:
现在,我不想要表TableA的所有列,所以我创建了另一个实体,并使用表映射将其映射到TableA。
不完全清楚。您是说您只想处理TableA
中的一部分列而忽略应用程序中的其他列?假设它们可以为空(或者StoreGeneratedProperty
为Computed
),您只需在TableA
的实体中点击它们并删除它们。
你不能创建另一个映射到TableA
的实体,除非你正在处理每层次表继承,这听起来并不像你感兴趣。