我正在研究一个简单的数据库,这里具体来说是由数据库优先方法生成的模型(Visual Studio 2017 社区,实体框架 6.2): 生成的数据库模型
我希望 UserMessage 表能够使用名为 AnswerId 的字段指向自身,这是一个可以为空的外键引用其主键。同样,具体来说,这里是我创建表的部分: UserMessage 表脚本
我的问题是,当实体框架基于现有数据库生成类时,一切都很好,除了这个特定的表,其中 EF 建议(我不知道为什么)UserMessage 表的多重性为 0..1 - *给自己,而它应该是 1 - 0..1(因为一条消息可能有一个直接的答案,但不超过 1,尽管作为答案的那个消息也可能有一个答案,所以它就像一个链表) . 这是生成的类:UserMessage 生成的类
总结一下整个事情:我想知道为什么 Entity Framework 会以它的方式生成我的类,以及如何让它生成它,以便我只有一个指向答案的虚拟属性(如果它有一个),但不是集合。
谢谢您的回答!