我有一個超級英雄。超級英雄可以有許多武器。超級英雄可以有很多車輛。超級英雄可以將他們的武器附在車輛上,但他們不應該這樣做。我可以使實體關聯是可選的還是可以爲空的?
http://fm001-forumimages.s3.amazonaws.com/EntityHero.png
在實體框架,如果我創建了一個武器並將其分配給一個超級英雄,這也迫使我將其附加到的車輛(以下錯誤)。
- 這是預期的行爲?
- 超級英雄,武器和車輛之間的正確的實體關聯映射是什麼?
- 什麼是一個很好的示例谷歌搜索詞組,以更好地理解這一點?
謝謝!
我認爲你的幫助讓我回答,這不是你的答案,但它讓我在那裏。外鍵是Nullable = False,這是一件好事,它阻止了我在不創建有效關聯的情況下保存到數據庫。所以,我不得不提出一個替代方案 - 我知道設置Foreign Key Nullable = True可能不是好的做法。我並不總是希望車輛擁有武器,所以我不知道如何執行這種關聯。 –
外鍵可以爲空是完全正確的,這實際上就是這樣做的方法。這樣做需要從「一對多」關係到「零對多」關係。 –