C# 重写在DBML文件中生成的setter

C# 重写在DBML文件中生成的setter,c#,linq-to-sql,partial-classes,C#,Linq To Sql,Partial Classes,我要重写分部类中属性的setter: 部分类: public partial class User { public string Name { set { // Do something } } } 但我有以下错误: 类型“User”已包含“Name”的定义 如何修改DBML文件中生成的初始setter?您不能覆盖部分类中的某个内容。 要覆盖某些内容,首先需要从某些内容派生 部分类是相同的类,但分

我要重写分部类中属性的setter:

部分类:

public partial class User
{
    public string Name
    {
        set
        {
            // Do something
        }
    }
}
但我有以下错误:

类型“User”已包含“Name”的定义

如何修改DBML文件中生成的初始setter?

您不能覆盖
部分类中的某个内容。
要覆盖某些内容,首先需要从某些内容派生


部分类
是相同的类,但分布在不同的IO文件之间。

这是可能的,只需使用一些技巧

这个问题也可能引起您的兴趣:


但是,您尚未指定要实现的自定义类型。

并且在两个不同的文件中定义分部类的相同属性也是不可能的。(对吗?)我替蒂格兰负责。没错,这是不可能的。分部类是同一个类,“分部”意味着为了方便用户,在不同的文件中物理地分割类代码(代码生成器经常使用分部类,只是为了避免生成器在每次重写代码时跳过代码)。没别的了。所以你们可以把这些部分放在一个单独的文件中,它在逻辑上和以前是100%相同的类。因此,很明显,不允许使用不明确的标识符。@niaher:如果您想定义不同的属性,只需定义一个不同的属性,因为在本例中,我们讨论的是同一类,同一类型。我建议检查EF的Fluent API: