如何避免*.edmx檔被異動時,所設置的驗證屬性被清除
一開始我在LINQ to SQL所產生的類別檔案中已經設置好驗證屬性如下圖
但如果我在.edmx檔做Table Schema異動時,如下圖
再新增一個Email2屬性,卻發現檔案類別已經把我所設的驗證屬性清掉了,
這每次的Table Schema異動將會對我造成困擾
解決辦法如下
1.新增路徑Models->Partials資料夾,然後再新增一個同名的Table_test.cs類別,
並把先前設定的驗證屬性給寫進去,如下圖
重新編譯後發現錯誤「WebApplication2.Models.Table_test' already contains a definition for 'Email」
表示與另一個Email名稱衝突,
這時我們只要把衝突的名稱刪掉就好
但每一次修改Schema就要刪掉一次,欄位一多時就很恐怖了,搞死你。
現在原本的Table_test.cs類別不用刪掉Email,
我們只要在後來新增的Table_test.cs類別,改成如下圖
用來專門管理所修改的驗證屬性,不被T4所影響