如何从Model.tt扩展一个类

时间:2014-05-17 15:36:00

标签: c# linq

我在VS2012中使用C#和LINQ连接到一个简单的sql数据库mdf文件 我可以在解决方案资源管理器,Model1.edmx,Model1.tt中看到数据库中的表作为类。

我想扩展类并为其添加额外的功能,但它没有我认识的构造函数,我无法将变量传递给它来创建对象。

甚至可以做我正在尝试的事情吗?

全部谢谢

1 个答案:

答案 0 :(得分:1)

使用部分类。 T4模板将类生成为部分类,您可以使用部分类轻松扩展它们。

因此,单独保留由T4工具生成的CS文件,并使用以下类创建与同一名称空间和程序集中的CS文件:

public partial class NameOfClassInT4
{
    //your own custom stuff here.
}

是的,你可以有两个同名的部分类,这就是整个想法:在多个文件中定义类。这对于自动生成一个定义并且您的修改可能被覆盖的情况尤其有用,因此创建另一个单独的文件并在另一个文件中自定义该类,就像在同一文件中的位置一样。