發佈NBear.Mapping 開源通用映射組件 V1.0.1.8 beta

Teddy 的博客NBearMapping - 開源通用對象映射組件v1.0.0.2 beta - 支持枚舉類型字段》,介紹了NBear 的一些功能。由於這將是NBearV4中的一個基礎組件,所以對性能的要求比較嚴格。原先的性能相對還是比較難以滿足要求,在此基礎框架思路下,經過近一段時間的開發,終於完成了NBearMapping新版本的開發,這個版本的主要功能仍然不變,在此基礎上新增了:

1、對配置語法的支持。

2、簡化了使用接口。

3、重新設計了映射實現,支持不同字段類型的自動轉換,同時具備了非常高的性能。性能與手工代碼相比不會有大的損失,在相同字段類型映射時,性能與手工代碼相當(有時的從測試效果來看還會更好些)。在不同字段類型映射,NBearMapping 與手工代碼的時間比大約在 1.3(到2.0)比1之間。可參考MappingTest.TestPerformance 1-4測試用例。

NBear.Mapping是一個獨立組件,不會依賴於NBearV4的其它組件。因此它是可以單獨使用的,甚至你也可以與NBearV3同時使用。目前新版本支持:

1、對象與對象之間,對象與弱類型之間(NameValueCollection,DataRow,IDictionary,IDataReader)的互轉換。其中與IDataReader是單向轉換。

2、對集合數組的對象的成批映射,將集合與DataTable互轉。

3、在配置文件中,支持在不重新編譯程序的情況下,對不同字段名的映射,映射順序,過濾字段,自定義映射需求的隨時修改,方便維護。

4、弱類型與弱類型之間的轉換,暫時不推薦使用。如果您確實有這樣的需求,可以與我聯繫。我會增加對這個功能的支持。

源碼和文檔下載

NBearV4 SVN地址:http://svn.cnblogs.com:8080/svn/NBear

在接下來的一段時間裏,我會陸續介紹它的使用方法,和詳細的配置文檔說明。

2007/12/16 更新:

目前NBear.Mapping已經更新爲V1.0.1.1 beta,更改內容:

1.增加對ConvertHandler的緩存。
2.優化了一些接口的作用域。
3.解決了defaultInitTypes沒有生效的BUG。
4.解決了映射順序沒有指定會出錯的BUG


2007/12/23
Version 1.0.1.3 beta
1.解決了DataTable中的DBNull轉換出錯問題。
2.增加了ObjectConvertor的ToObject重載,支持外面傳入已創建好的輸出對象。

 

2007/12/25

Version 1.0.1.4 beta
1.去掉在1.0.1.2版本中的dataTable.AcceptChanges() 調用,在ToDataTable接口增加DataRowState參數,由用戶來決定DataRow的狀態。
2.豐富了ToList重載,支持非泛型的調用,返回值改爲數組,不返回集合。

 

Version 1.0.1.8 beta (2008/02/23)
1.解決IDataReader映射到Object時,如果有字段類型爲Guid,在映射時會報錯的Bug。 (感謝yiway反饋的BUG)

Version 1.0.1.7 beta (2008/01/30)
1.解決數據庫字段爲空時,使用IDataReader轉換到Object會出錯的異常。

Version 1.0.1.6 beta (2008/01/29)
1.解決了實體有繼承關係的話就會在ConvertorGeneratorHelper 類的GetMembers 方法中報錯"已添加了具有相同鍵的項",子實體的屬性被添加後,有又添加了父實體的屬性。導致"已添加了具有相同鍵的項"錯誤

Version 1.0.1.5 beta
1.增加了對源字段和目標字段是否存在的判斷。



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章