没有主键的桥接表
Posted
技术标签:
【中文标题】没有主键的桥接表【英文标题】:Bridge table with no primary key 【发布时间】:2012-02-14 16:33:12 【问题描述】:我的数据库设计中有一个桥接表,但它没有主键。当我尝试使用 ASP.NET MVC 3 的数据库优先方法来创建我的模型时,它会创建一个带有警告的模型 “表/视图 'CRM_Test_1.dbo.SalesOrderProduct' 没有定义主键并且无法推断出有效的主键。此表/视图已被排除。要使用该实体,您需要检查您的架构,添加正确的键,然后取消注释。"
是我做错了什么还是有办法让这个警告消失??
谢谢。
【问题讨论】:
【参考方案1】:实体框架使用主键为每条记录创建唯一的实体键。如果表上没有主键,它会显示您看到的警告。
说的没错。但是您可以在表中添加一个标识列作为主键。这将使警告消失。
【讨论】:
【参考方案2】:如果你想抑制错误信息,你可以添加一个主键(int, autonumber)。有人会说你需要一个主键。或者,如果这在您的数据模型中有意义,您可以创建桥接 ID 的复合键。
【讨论】:
添加自动编号主键并没有真正的优势,正如另一篇文章 here 中所讨论的那样。以上是关于没有主键的桥接表的主要内容,如果未能解决你的问题,请参考以下文章