4

我想重命名一个导航属性,并用我给的新名称在代码中访问该对象。我已将我的一个用户属性重命名为更有意义的名称,而不是 1,2,3...等。

在这个例子中,我在模型图中将 OGSMUser5 重命名为 OGSMUserResponsible。

然后我尝试在代码中访问它,但它找不到我重命名的属性 OGSMUserResponsible。

@contImprovement.OGSMUserResponsible.FullName

当我查看从实体数据模型生成的模型中的代码时,我看到新重命名的模型的代码没有更改,这解释了为什么我无法访问它。

    public virtual OGSMUser OGSMUser { get; set; }
    public virtual OGSMUser OGSMUser1 { get; set; }
    public virtual OGSMUser OGSMUser2 { get; set; }
    public virtual OGSMUser OGSMUser3 { get; set; }
    public virtual OGSMUser OGSMUser4 { get; set; }
    public virtual OGSMUser OGSMUser5 { get; set; }

我已经看到了与此有些相似的问题,但是我所看到的答案我不敢相信是唯一的选择。他们一直在部分类中手动创建一个具有您想要的名称的新属性(我在导航属性中将我的重命名为),并返回带有名称中数字的导航属性以帮助清理它。我不敢相信这是完成我正在寻找的最佳方式。

谢谢您的帮助。

4

1 回答 1

2

您可能没有运行T4 模板转换

只需右键单击您的.tt 文件(它们位于解决方案资源管理器树中的 .edmx 文件下)并运行它们。或者,您可以通过单击 Visual Studio 工具栏中的按钮来运行所有 tt 。

T4 模板在 Visual Studio 中运行

于 2012-09-03T18:30:46.630 回答