我想重命名一个导航属性,并通过我给出的新名称在代码中访问该对象。我已将我的一个用户属性重命名为更有意义的名称而不是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; }
我已经看到了一些类似的问题,但我看到的答案是我不能相信的唯一选择。他们已经在部分类中手动创建了一个具有您想要的名称的新属性(我在导航属性中重命名为我的属性),并返回带有名称中的数字的导航属性以帮助清理它。我无法相信这是实现我所期待的最佳方式。
感谢您的帮助。
答案 0 :(得分:2)
您可能没有运行T4 template transformations。
只需右键单击 .tt文件(它们位于解决方案资源管理器树中的.edmx文件下),然后运行。或者,您可以通过单击Visual Studio工具栏中的按钮运行所有tt 。