使用实体框架的导航属性的有意义的名称

dna*_*oli 12 .net entity-framework

我正在使用ADO .NET实体框架从数据库导入我的模型.我的数据库中的表有一堆外键,所有外键都有抽象名称,例如FKDevice132610.

当我将表导入到我的模型中时,它会为每个外键引入导航属性,但是会根据它们链接到的表名导入名称.如果某个表有多个外键,则会在末尾附加一个数字.

Ef模型

在这种情况下,Devices1是ParentDevices,Devices2是ChildDevices.有没有办法可以将此信息输入我的外键(比如使用描述或名称),以便实体框架为我的导航属性导入有意义的名称?

Lad*_*nka 5

据我所知,目前无法做到这一点.这就是当前设计师的工作方式.当您将这些属性重命名为正确的名称从数据库更新模型时,更糟糕的是有时会覆盖您的更改.

此工作项跟踪了导航属性命名的改进 - http://entityframework.codeplex.com/workitem/125

  • 在这种情况下,它不是EF的失败.这是设计师的失败 - 您可以通过使用代码优先方法或者如果您希望通过手动编写XML映射来从EF中获得最佳效果而无需设计人员使用EF. (5认同)