2017-06-14 91 views
3
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Gender", DbType="Int NOT NULL", UpdateCheck=UpdateCheck.Never)] 
public int Gender 
{ 
    get 
    { 
     return this._Gender; 
    } 
    set 
    { 
     if ((this._Gender != value)) 
     { 
      this.OnGenderChanging(value); 
      this.SendPropertyChanging(); 
      this._Gender = value; 
      this.SendPropertyChanged("Gender"); 
      this.OnGenderChanged(); 
     } 
    } 
} 

有一個update check的屬性,我將它設置爲never。但是,當我在dbml中做了一個小改動時,我必須將這個字段的這個屬性設置爲不再。我如何在部分類中永久覆蓋此屬性?重寫linq屬性c#

更新:在設計

partial class DataBaseDataContext : System.Data.Linq.DataContext 
{ 
    public DataBaseDataContext() : 
     base(ConfigurationManager.ConnectionStrings["MyConnection"].ToString()) 
    { 
     OnCreated(); 
    } 
} 
+1

問題。你爲什麼要爲你的項目使用Linq2Sql?相反,微軟已經相當放棄該系統來支持實體框架。 –

+0

我認爲這個圖在實體和linq中是相同的,是不是? – Nofuzy

+0

我不知道,我從來沒有使用EF的dbml文件,我只使用Code First。 –

回答

1

我發現this解決方案,做同樣的/類似於你問什麼。你應該看看那個。代碼使用反射來查找所需的列並進行必要的更改。你必須調整它以適應你的情況,並看看你是否滿意自己的表現。

1

打開dbml的文件,並設置Update Check的屬性設置爲所需的值:作爲一個例子,我可以改變的dbml連接字符串這樣的,一次永遠。不要直接修改生成的文件,它會被覆蓋。

enter image description here

+0

有時我向數據庫添加一個表或修改它,我需要重新構建一個新的dbml設計,但是有些部分是相同的,我必須始終將其更新檢查設置爲永遠不會更新。我需要一次覆蓋它,我給我的問題添加一個例子。 – Nofuzy