更改关系的默认名称

时间:2014-08-17 20:46:49

标签: sql-server entity-framework foreign-key-relationship ef-model-first

我有两张表格结构如下:

*Table User*

id       int      identity
username varchar
role     varchar


*Table Ticket*

id       int      identity
admin_id int
user_id  int

admin_iduser_id是来自User表的外键。 我在Mssql图中为关系设置了一个关系名称,但是当我从这个数据库创建我的模型时,关系是:UserUser1。 当我手动更改它们时,它会变好,但在刷新模型或重新创建Ticket表后,UserUser1又回来了。 如何在EF模型中为我的关系设置最终名称?即使我刷新或删除整个模型,我希望EF模型关系名称与图表关系名称相同。

1 个答案:

答案 0 :(得分:7)

无法强制实体框架从关系名称中获取属性的名称,而是将表名作为属性名称(对于多个属性使用整数后缀)。

现在问题是,在您的方案中,您重命名的属性会在update model from database时更改为原始名称。

我们可以阻止entity framework不重置我们自己重命名的属性名称。方式是,

  1. 打开模型文件(.edmx)
  2. 转到模型浏览器中的Association文件夹
  3. 右键单击关联(您要重命名)&去 特性
  4. 检查Property托盘,从底部开始搜索End2 Navigation Property
  5. 根据需要重命名。
  6. 已完成。

    现在,即使您从数据库更新模型,它也不会刷新。