2010-08-16 42 views
5

我有一個實體框架模型使用每層次表。基類是抽象的,並且有兩個派生類。每個層次結構實體框架表錯誤3034

我想創建這兩個派生類和另一個類之間的關聯。這些是多對多的關係,所以要通過加入表格。

添加第一關聯是好的,但是當我添加第二i得到這個錯誤:

錯誤3034:問題在映射片段起始於線1074,1082:兩個實體具有可能不同的密鑰被映射到同一排。確保這兩個映射片段將AssociationSet的兩端映射到相應的列。

繼承人的模型的相關部分(LabelImages和PresetImages協會是那些給人的麻煩)的圖像:

alt text http://img810.imageshack.us/img810/9026/model1.png

+0

ahh有人跟我一樣 - 不要以爲你找到了答案。 – 2011-06-12 21:02:46

回答

1

有點晚了,但無論如何:

這是不是真的如果您涉及底層數據庫,可能會有此情況實體框架將爲圖像表和產品表之間的關聯創建一個連接表,而實際上您需要兩個不同的連接表。

我建議在數據庫中爲你的繼承層次使用不同的選項。或者把圖像和產品之間的關係,而不是子類型。您可以在產品類中添加方法以過濾特定類型,其中一個用於presetimages一個用於labelimages。或者在您的上下文類中添加一個方法,以使用OfType檢索產品的特定類型的圖像。

相關問題