Visual Studio C#更改dbml文件的实体变量名称

Visual Studio C#更改dbml文件的实体变量名称,c#,linq,visual-studio,sql-server-express,dbml,C#,Linq,Visual Studio,Sql Server Express,Dbml,我知道如何在SQLExpress中创建外键,以及如何使用dbml文件及其实体,但我喜欢更改其中一个实体中变量的名称 让我解释一下: 假设我有一个名为“Person”的表,这个表本身有一个外键,比如parent和child。 现在在C#中,我可以使用以下语法获得孩子的父亲: Person child = getSomePerson(); Person father = child.Person; 但我喜欢这样做: Person child = getSomePerson(); Person fa

我知道如何在SQLExpress中创建外键,以及如何使用dbml文件及其实体,但我喜欢更改其中一个实体中变量的名称

让我解释一下:

假设我有一个名为“Person”的表,这个表本身有一个外键,比如parent和child。 现在在C#中,我可以使用以下语法获得孩子的父亲:

Person child = getSomePerson();
Person father = child.Person;
但我喜欢这样做:

Person child = getSomePerson();
Person father = child.father;
那么,我应该如何将默认名称“Person”更改为我喜欢的名称呢

编辑1:


如果我可以在sql server中使用sql查询,这样我就不必在我的C#项目中更改任何内容,那就更好了。

我不建议这样做,但是如果您坚持,您可以在文本编辑器中编辑dbml文件本身(XML),并更改引用属性的名称

你会看到这样一行(猜一猜)


现在将
Member=“Person”
更改为
Member=“Father”
。(我会用帕斯卡的大小写,而不是“父亲”)

然后以设计器模式(默认方式)打开dbml文件,按“保存”(以触发代码生成),导航属性将被更改


请注意,如果将来必须重新生成dbml(因为数据库发生了更改),那么这种更改显然将消失。你可以考虑移动到实体框架,这样做是自然的。

谢谢你的回答。所以根本就没有什么好方法可以做到这一点?你说的迁移到实体框架是什么意思?好吧,这不是一个非常糟糕的方式,只是有点不成熟而已。将来你可能不得不再做一次。如果重命名导航属性足够重要,我想我也会这么做。通过迁移到EF,我的意思是开始使用EF而不是linqtosql。两者在基本架构上非常相似,因此不需要太多重构就可以做到这一点。很公平,谢谢。现在我应该找到一种从LINQ迁移到EF的方法。