我正在使用ADO .NET实体框架从数据库导入我的模型。我的数据库中的表有一堆外键,所有外键都带有抽象名称,例如FKDevice132610
。
当我将表导入到我的模型中时,它会为每个外键引入导航属性,但是会根据它们链接到的表名导入名称。如果某个表有多个外键,则会在末尾附加一个数字。
在这种情况下,Devices1是ParentDevices,Devices2是ChildDevices。有没有办法可以将这些信息输入我的外键(比如使用说明或名称),以便实体框架为我的导航属性导入有意义的名称?
答案 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名称等属性