2011-02-14 32 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