最新版本的NBear中除了本文中提到的兩個功能之外,還包括如下內容:
1)支持EntityFactory.CreateObject和CreateObjectList現在支持基於DataSet或IDataReader中的字段名稱而不僅僅是原來的基於字段順序的數據填充了;
2)Gateway.Save和Insert方法現在支持自動返回新插入的紀錄的自增長ID字段了(當然,前提是,這個實體對應的表確實使用自增長主鍵字段)。
自定義實體屬性
什麼是CustomProperty呢?
CustomProperty是一種可以為Entity添加的,不映射到數據表字段的,只讀的,用於解析Clob或Blog屬性的,自定義類型的屬性。
簡單的說,如果你的實體包含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; }
}