2011-02-14 78 views
1

我正在使用Linq-To-SQL,并且想将一个接口附加到每个实体。将接口添加到DataContext类

我可以编辑designer.cs文件并完成此操作。

但是,当我通过UI对dbml进行更改时,它会重写整个designer.cs,并且我失去了更改。

我只是要处理它,或者有办法解决它吗?

我在designer.cs文件这样做(在IMatchable是我的自定义接口):

public partial class Error : INotifyPropertyChanging, INotifyPropertyChanged, IMatchable 
{ 
    ... 
} 

回答

5

不要编辑设计文件;部分类的美妙之处在于可以创建一个单独文件与只是

public partial class Error : IMatchable 
{ } 

(假设我们正在使用隐式接口implementaion凭借匹配所需的界面,具有属性的)

尽管小心谨慎:如果您使用VS2008,并且您有MyClasses.dbmlMyClasses.designer.cs,请执行而不是调用此文件MyClasses.cs - VS2008中存在一个令人讨厌的bug(您必须继续移动using命名空间内的指令或代码生成器中断) - 虽然在VS2010中修复。

而且,如果它是一个单一接口,即每在模型中实现的,你可以通过指定的对象基本型在DBML作弊。设计人员不显示此选项,但如果您手动编辑DBML,则它可以正常工作。

+0

我试过了,但是我放弃了它放在那里的接口=(。我会放下它的。谢谢。 – Jason 2011-02-14 06:47:46