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

时间:2011-09-06 00:56:49

标签: .net entity-framework

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

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

Ef model

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

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

想知道搜索“modelBuilder.Conventions.Remove”是否会引导您找到解决方案。 我希望我可以提供更多帮助,但我刚刚开始探索EF。当我有多个字段引用相同的ID时,遇到类似的情况...我不记得是什么工作了。

答案 2 :(得分:0)

四年后......
在EF团队解决this issue之前,一种可能的解决方法是使用外部工具解析.edmx文件并替换所有文本 <NavigationProperty Name=更有意义的导航名称 作为XML,非常容易解析和查找多重性,FK名称等属性