我有一個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".
我不知道,如果我採用的方法是正確的,因爲實體集alraedy存在TableA的。
如果這是方法,那麼解決方案是什麼。
如果不是,我該走哪條路。
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到另一張桌子幾列。這是一個很好的(或可能)方法或我應該創建類,然後把類的每個屬性手動 預先感謝
我不希望這列是內部的數據庫或開發目的。我只想公開可能用於UI(或用戶)的列。另外,我不確定「每個層次結構的功能」,你能詳細說明一下嗎?或者可能只是使用搜索引擎來幫助? – genericuser
@Priya:你在說什麼與表繼承沒有任何關係,所以如果你有興趣瞭解它是什麼,只查看它;它不會幫助你解決這個問題。就像我上面所說的那樣,如果列可以爲空,那麼您可以簡單地從設計器中刪除列屬性。如果它們不是空的,那麼你不能刪除它們,因爲實體不能被保存。 –
好的,我應該從實體或實體集中刪除它嗎?它不會影響任何crud操作?另外,有沒有辦法重新命名實體中的列? – genericuser