簡體   English   中英

數據庫第一實體框架的多樣性

[英]Database First Entity Framework multiplicity

我正在使用一個簡單的數據庫,這里要具體說明的是通過數據庫優先方法生成的模型(Visual Studio 2017社區,實體框架6.2): 生成的數據庫模型

我希望UserMessage表能夠使用名為AnswerId的字段指向自身,這是引用其主鍵的可為空的外鍵。 再次說明一下,這是創建表的部分: UserMessage表腳本

我的問題是,當Entity Framework根據現有數據庫生成類時,除此特定表外,其他一切都很好,其中EF建議(我不知道為什么)該UserMessage表的多重性為0..1-*本身應為1-0..1(因為一條消息可能有直接答案,但不超過1,盡管該消息(即答案)也可能有答案,所以就像鏈接列表一樣) 。 這是生成的類: UserMessage生成的類

總結一下整個過程:我想知道為什么Entity Framework會以它的方式生成我的類,以及如何使它生成它,所以我只有一個虛擬屬性指向答案(如果它有一個答案) ),但不是集合。

謝謝您的回答!

我認為您看到的是EntityFramework的正確解釋。 UserMessage1代表所有以父級引用作為答案的UserMessages的集合。 我知道您可能不會將該集合用於任何東西,但是它在那里是沒有錯的。 UserMessage2似乎是您要查找的屬性。 也許您可以在圖中重命名這些屬性,以免混淆。

UserMessages1 = MessagesThatReferenceMe

UserMessages2 =我可能會或可能不會引用的消息

我看不到如何阻止EF生成此集合。 我認為,如果您刪除圖表中的屬性,則每次更新圖表時都必須將其刪除。

也許嘗試刪除模型中的第二個UserMessage導航屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM