2010-06-09 81 views
1

是否可以将LINQ的外键关系对象命名更改为SQL生成的对象?LINQ外键关系命名(地址,地址1,地址2)

例如,我有一个Demo表,它具有ItemMinId, ItemMaxId, ItemExlId这些字段都是对我的Item表的外键引用。

LINQ现在生成Demo.Item, Demo.Item2, Demo.Item3字段,这使得在代码中很难区分实际项目。

如何更改DBML以外的此命名,因为我通常通过删除所有内容并将更新的SQL表拖到LINQ设计器表面来刷新整个模型。

回答

0

要保持更新的名称,您必须将其移动到partial类。

诀窍是声明只需获取/设置生成项目的新属性。

public partial class Demo 
{ 
    public int ItemMinId 
    { 
     get { return Item; } 
     set { Item = value; } 
    } 

    public int ItemMaxId 
    { 
     get { return Item2; } 
     set { Item2 = value; } 
    } 

    pubilc int ItemExlId 
    { 
     get { return Item3; } 
     set { Item3 = value; } 
    } 
} 

您可以将生成的项目从public范围更改为internal,但我想,这将在每次更新被覆盖了。

但您在单独的部分类中声明的Demo的属性不会被更改。

+0

我现在不能测试这个,但是我不觉得这样可以很好的与实际的LINQ to SQL引擎生成SQL在数据库上运行... – tster 2010-06-09 19:38:01

+0

不,它不会。 – DamienG 2010-06-10 05:14:43