数据库优先方法中与联结表的多对多关系
Posted
技术标签:
【中文标题】数据库优先方法中与联结表的多对多关系【英文标题】:Many to Many relation with junction table in Database first approach 【发布时间】:2012-06-26 01:07:33 【问题描述】:我有三个表 Author、Book 和 AuthorBook。 AuthorBook 表只包含两个指向 Author 和 Book 表的外键,以实现 Author 和 Book 表之间的多对多关系。
当我从数据库生成模型时,Author 和 Book 模型是在没有任何关联的情况下创建的。我在 Author 模型下期待“Books”,在 Book 模型下期待“Authors”。我在这里遗漏了什么或者这就是它的工作方式吗? 这是我的表格图
这是我的模型图
【问题讨论】:
【参考方案1】:实体框架未包含表 BookAuthor,因为它没有主键。我通过在表上定义主键(在 authorid 和 bookid 上)解决了这个问题。
【讨论】:
【参考方案2】:您的数据库中的关系是否在 Book BookAuthor 和 Author BookAuthor 之间定义? --> How do I create a foreign key in SQL Server?
【讨论】:
请看上图。 是的,你写的 EF 是从数据库生成的,这 3 个表之间没有关联。发生这种情况的原因:没有定义关联@Database!如果您再次部署项目/解决方案,您应该能够访问“Book.Author”或“Author.Book”以上是关于数据库优先方法中与联结表的多对多关系的主要内容,如果未能解决你的问题,请参考以下文章