重命名导航属性

Kar*_*elė 7 navigation-properties ef-database-first entity-framework-5

实体框架有时会生成可怕的导航属性名称.使用数据库第一种方法,解决这个问题的最佳方法是什么?

我可以根据自己的喜好编辑t4模板,但是如何将这些修改后的名称绑定到实际关系?我应该编写一个脚本来修改edmx文件吗?显然,手工制作并不是一种选择.

Ami*_*aqi 1

是的,你可以。在大多数情况下,您只需从 EF 模型设计器重命名该 NavPr 并保存模型。然后 EF 在您的DbContext.tt实体类中重命名该 NavPr,这不会造成任何问题。

如果关系名称出现问题,请右键单击重命名的 NavPr 并选择属性。然后将Association其属性更改为数据库中的实际关系。

如果您在那里看不到相对关系名称,请删除该实体以及与其有关系的所有其他实体,右键单击模型设计器并选择Update model from database。然后,只需重命名那个丑陋的 NavPr 并保存模型即可。

  • 我不想在模型设计器中这样做。通常有太多的桌子。此外,如果需要生成新模型,所有更改都将丢失。我想要的是一种告诉 EF 使用什么命名约定的方法。 (5认同)
  • `OnModelCreating` 仅适用于 Code First,不是吗?我需要一个使用数据库优先的解决方案。 (4认同)