回答

1

我要說,這裏招是:

  1. 映射一個屬性,該列。它可以隱藏你的模型的其他部分,甚至保護(例如見here
  2. 創建兩個虛擬(我是指未映射屬性)公共屬性訪問和設置,映射值。

例如,我用於映射version非常類似的情況。因此,儘管這將是映射:

<version name="Timestamp" generated="always" unsaved-value="null" type="BinaryBlob"> 
    <column name="RowVersion" not-null="false" sql-type="timestamp"/> 
</version> 

它正在與byte[]這是很難發送到UI - 客戶端。所以這就是域實體的表示。

protected virtual byte[] Timestamp { get; set; } 

public virtual string Version 
{ 
    get { return Timestamp.IsEmpty() ? null : Convert.ToBase64String(Timestamp); } 
    set { Timestamp = value.IsEmpty() ? null : Convert.FromBase64String(value); } 
} 

有了這樣的地方,我們可以version發送到客戶端爲string ...並把它找回來...

注:我會映射數據庫列公共財產。它使得在QueryOver查詢中使用該屬性更容易...至少可以公開吸氣人

相關問題