最新版 NBear 除本文提及兩功能外,還包含:
EntityFactory.CreateObject` 與 CreateObjectList` 現支援基於 DataSet` 或 IDataReader` 欄位名稱填充資料,不再僅限原本基於欄位順序Gateway.Save` 與 Insert` 方法現支援自動回傳新插入記錄自增 ID 欄位(前提:實體對應表確實使用自增主鍵)CustomProperty` 是一種可為 Entity` 添加、不映射至資料表欄位、唯讀、用於解析 Clob` 或 Blob` 大型欄位、自訂類型屬性。
簡單說:若實體含 Clob` 或 Blob` 大欄位,又想方便直接讀取大欄位真正代表內容,可為 Entity` 定義 CustomProperty` 封裝對大欄位內容存取。
假設有此 Entity`:
public interface EntityWithCustomProperty : IEntity
{
[PrimaryKey]
int ID { get; }
string Name { get; set; }
string XmlServerConfig { get; set; }
string XmlContactConfig { get; set; }
[CustomProperty("XmlServerConfig", "XmlContactConfig")]
SampleCustomPropertyType SampleProperty { get; }
}
CustomProperty` 屬性標記指定來源欄位(XmlServerConfig`、`XmlContactConfig`),SampleProperty` 為自訂類型屬性,透過解析這兩欄位 XML 內容回傳強型別物件。