2012-06-01 53 views
0

在C#中使用EF和Winforms。我想使用部分類將完整的自定義屬性添加到我們的實體中。所有實體已經有部分類與驗證的東西和一些更多,所以我只是添加我需要的屬性。通過完整的財產,我的意思是財產與吸氣劑和二傳手,所以不只是一個計算/只讀屬性。我想這主要是爲了避免直接使用某些設計不當或有其他問題的數據庫映射屬性。 例如,一種情況是這樣的:EF中的完全自定義屬性

// entity class, generated 
public partial class Customer 
{ 
    public string Spot {get;set} 
} 

// partial class, manually changed 
public partial class Customer 
{ 
    public int? xxxSpot 
      { get { return Int32.Parse(Spot.Trim()); } // some code omitted 
      { set { Spot = value.ToString().PadLeft(5); } 
} 

所以我的自定義屬性將現有建成周圍,DB映射實體的屬性。我想使用這些自定義屬性像正常的,即將它們綁定到UI控件等。我已經嘗試了一個,迄今爲止它效果很好。 這是個好主意嗎?如果不是,爲什麼?在做這件事時我還應該考慮什麼?

回答

1

你已經回答了你自己的問題 - 它的工作原理,沒有理由不這樣做。如果您想改進實體的設計,您甚至可以嘗試映射屬性的change visibility以確保其他類必須僅使用具有其他邏輯的自定義屬性。