我正在尝试在 EF 5.0 中使用数据库优先方法,但它没有为我创建正确的模型。
这是我的数据结构:
论坛
用户
帖子
关系
问题
Forums
主要问题是与表中的一对一关系Posts
。该模型不将ParentForumID
and识别为可为空值,因此在表 (和)ReplyTo
之间创建了一对多的关系。Forum-Forum
Post-Post
此外,当尝试手动更改为一对一关系时,我收到此错误:
错误 113:多重性在关系“FK_Forums_Forums”中的角色“Forum1”中无效。因为从属角色属性不是关键属性,所以从属角色的多重性的上限必须是*。...\模型\实体\模型1.edmx
Visual Studio 中的模型(编辑前)
我尝试使用代码优先的方法,但它产生的数据库结果很差,然后我意识到我可以配置数据库创建的行为,但我找不到一个好的资源来解释如何正确配置它。
我宁愿使用数据库优先的方法,因为它可以让我自定义我的数据库,但它仍然会生成一个包含许多错误的不正确模型。
所以我的问题是:
这样做的最佳方法是什么?
哪里可以先学代码,先学数据库?
为什么我的视觉工作室会产生这样的模型?
为什么当我尝试更改模型以适应我的需要时,它会给我前面描述的错误?
我在哪里可以了解迁移工具?我可以使用哪些功能来配置数据库创建?