我目前正在使用Linq-to-SQL類的一個非常基本的應用程序。我一直在利用它們是「部分」的事實,爲自動生成的數據類添加新的方法和屬性。但是,現在我想實際修改一個類方法中包含的代碼 - 即SendPropertyChanged()。替換C#中的自動生成的代碼
我能看到的最簡單的方法是修改自動生成的.designer.cs文件本身的代碼,但是我可以看到這是非常危險的(因爲代碼可能被代碼生成器覆蓋)。有沒有替代方法可以讓我安全地修改代碼?
編輯:爲什麼我希望這樣做:我想添加一個屬性「isDirty」,只要任何一個字段被更改就設置。因爲每當一個字段被改變時,它會調用SendPropertyChanged方法,我想我會在那裏粘貼「isDirty = true」(通過適當的檢查)。
這聽起來像個壞主意,每次更新你的dbml時,你都會失去你的改變。你爲什麼要替換它?你不能使用其中一種部分方法嗎? – Liath
我想添加一個isDirty屬性到類中,每當更新任何字段時都會設置該屬性。我[我]可以[/ i]使用onFieldChanged()事件(並且無法找到合適的替代方法,我可能會這樣做)並將它們添加到分部類中,但它看起來太不雅觀。 –
使用LINQ to SQL也是一個壞主意。如果您有選擇,我建議切換到更成熟,支持的ORM,如實體框架或nHibernate。 L2S不再被開發......它已經死了。 –