Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 更改关系的默认名称_Sql Server_Entity Framework_Foreign Key Relationship_Ef Model First - Fatal编程技术网

Sql server 更改关系的默认名称

Sql server 更改关系的默认名称,sql-server,entity-framework,foreign-key-relationship,ef-model-first,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\u id和user\u id是user表中的外键。 我在Mssql图表中为关系设置了一个关系名称,但是当我从这个数据库创建模型时,关系是:User和User1。 当我手动

我有两张表,结构如下:

*Table User*

id       int      identity
username varchar
role     varchar


*Table Ticket*

id       int      identity
admin_id int
user_id  int
admin\u id
user\u id
user
表中的外键。 我在Mssql图表中为关系设置了一个关系名称,但是当我从这个数据库创建模型时,关系是:
User
User1
。 当我手动更改它们时,一切正常,但在刷新模型或重新创建
票证
表之后,
User
User1
又回来了。
如何在EF模型中设置关系的最终名称?即使我刷新或删除整个模型,我也希望EF模型关系名称与图表关系名称相同。

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

现在的问题是,在您的场景中,当您从数据库更新模型时,重命名的属性将更改为其原始名称

我们可以停止
实体框架
,不重置我们自己重命名的属性名称。方法是

  • 打开模型文件(.edmx)
  • 转到模型浏览器中的
    关联
    文件夹
  • 右键单击要重命名的关联并转到 性质
  • 检查
    属性
    托盘,开始搜索
    End2导航
    属性
    ,从底部开始
  • 可以随意重命名它
  • 就这样了


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

    您能告诉我如何从数据库创建模型吗?您是创建“LinQ到SQL”还是“实体Framewok”?@Lali Entity framework标记被分配给这个问题,所以我正在使用它。我尝试创建相同的场景,发现在designer模型中,没有显式映射对于关系。但是在票证模型中,有两个类型为User的属性,命名为“User”和“user1”。我想你是在谈论这些属性。@Lali是的,我在谈论它们,我不知道为什么这些名称和数据库中的关系名称不一样!每当我更新模型时都会引起问题。尽管问题是not解决了,这是唯一可以让更新过程更简单的解决方案,谢谢。