2012-06-28 43 views
0

我有一个名为 “PublicUserNotification” 表,该表具有以下的列:实体框架 - 导航属性问题

  1. PublicUserId - 映射到PublicUser.Id
  2. FromPublicUserId - 映射到PublicUser.Id

但是,当我在Visual Studio 2010中更新我的edmx文件时,问题就开始了。

这两列的导航属性是设置为“PublicUser”和“PublicUser_1”。

这使得在这张表上使用EF令人困惑,因为我们不知道PublicUser_1实际上映射到了哪一个。

因此,我的问题是,有没有人知道一种方法来阻止这种情况发生,而是让EF为这种情况创建“有用的”导航属性名称?

回答

0

打开您的edmx文件并右键单击您的设计器。选择“模型浏览器”。 在模型浏览器中,您可以浏览实体类型并打开表格。如果您选择导航属性并打开属性窗口,则可以更改导航属性的名称。

+0

与此问题是,如果由于某种原因开发人员删除edmx并重新生成它,他们失去这些“特别创建”导航属性名称。当然,他们必须成为解决这个问题的方法吗? – swade1987

+1

不是我知道的......这在我看来是代码生成的一个缺点。你根本无法改变它背后的逻辑。 – DirkV