数据库 – ADO.Net EF – 如何在模型第一种方法中定义外键关系?

前端之家收集整理的这篇文章主要介绍了数据库 – ADO.Net EF – 如何在模型第一种方法中定义外键关系?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我以前一直在关于类继承的问题,并围绕这一点构建一个数据库,并使用实体框架没有成功.所以我试图在visual studio中创建实体,看看它自动创建的数据库表.

我有一个Entity MediaItem是抽象和游戏从这继承.游戏有一个对应于ConsoleID的控制台(Int).但是,当我生成数据库时,我会在MediaItems_Game表中找到一个不需要的列(ConsoleTypes_ConsoleID).为什么会这样,怎么可以防止这种情况发生?谢谢.

解决方法

首先你的模型可能是错误的. ConsoleType和Game不是一对一的关系(除非你有每个控制台类型的单一游戏).我预计1个控制台可以有多个游戏.所以应该是一对多的.在现实中,游戏可以在多个平台上发布,所以应该是多对多的.

由于您的ConsoleType和Game之间的关系不知道它应该使用控制台属性作为外键,所以您有无效的列.如果您使用独立关联,则会发生这种情况.当您将实体从实体绘制到实体设计器中的其他实体时,默认使用独立关联.你必须使用外键关联.

从这个设置开始(从ConsoleType到Game的关联 – 你必须有一对多关系):

选择ConsoleType和Game a之间的属性关系,点击参考约束:

在参考约束对话框中设置关系:

@R_345_301@并再次生成数据库.

猜你在找的MsSQL相关文章