.net EF模型第一个实体密钥属性名称重复

.net EF模型第一个实体密钥属性名称重复,.net,entity-framework,ef-model-first,.net,Entity Framework,Ef Model First,我尝试了模型优先的方法,我遇到了麻烦。例如,如果我有一个名为Building的实体,其键属性名为BuildingID,并且我创建了一个与房间实体的关联,那么房间实体中的外键属性最终将命名为BuildingBuildingID 我怎样才能停止这种疯狂 Visual Studio将尝试为关联密钥选择最佳名称。默认情况下,我相信它是,因此在您的案例中是buildingid。但是,由于概念模型与存储模型是分开的,因此您可以将该属性重命名为您想要的任何属性 另外,如果您正在Visual Studio中使用

我尝试了模型优先的方法,我遇到了麻烦。例如,如果我有一个名为Building的实体,其键属性名为BuildingID,并且我创建了一个与房间实体的关联,那么房间实体中的外键属性最终将命名为BuildingBuildingID


我怎样才能停止这种疯狂

Visual Studio将尝试为关联密钥选择最佳名称。默认情况下,我相信它是
,因此在您的案例中是buildingid。但是,由于概念模型与存储模型是分开的,因此您可以将该属性重命名为您想要的任何属性


另外,如果您正在Visual Studio中使用关联向导屏幕,并且不希望VS创建新的外键。有一个框可以取消选中,以阻止它创建属性。

因此,无法更改设置以实体的键名作为外键名?我知道我可以编辑它,但我还有更好的事情要做,只需5秒钟!)默认情况下,我在model first中没有意识到这一点。如果您通过向导导入架构,它应该引入外键字段的名称,然后,您可以将其指定为关联密钥,而不是让工具为您创建一个新的关联密钥。通过将建筑PK命名为BuildingID而不仅仅是ID可以获得什么。在代码中,您将以objectName.ID的形式访问它,使用intellisense,objectName显然属于建筑类型。