EF4 DB在哪里首先得到它的关系名称?

时间:2012-04-30 10:47:35

标签: .net entity-framework edmx ef-database-first

我有一个名为“item”的数据库表,它有一个名为“itemParentID”的自引用字段。当我生成EDMX和模型时,我可以访问“item.item1”,它是当前项的父项和“item.items1”,它是子项的集合。我也有属性“item.itemParentID”,但我很少直接使用它。

如何选择这些名称“item1”和“items1”?我从数据库生成EDMX,并希望名称自动为“topic.Parent”和“topic.Children”,这样我就不必触摸生成的代码或在partials中创建额外的代码。

2 个答案:

答案 0 :(得分:1)

这是EDMX生成中硬编码的逻辑。该名称是从相关实体类型的名称推断出来的,但在自引用关系或多个关系到同一类型的情况下它不能很好地工作。在这种情况下,生成器会将这些数字添加到属性名称中。

修复它的唯一方法是重命名设计器中的属性,但要注意这也是在从数据库更新模型时有时会丢失的唯一修改。

答案 1 :(得分:0)

在模型(edmx)设计器中选择属性,然后打开属性窗口。

您可以在那里设置名称。

我不知道如何更改自动生成的名称。