天天看點

Green.AgileMapper項目(2)-新增DO和DTO代碼生成

    代碼生成我本想利用T4模闆,但是由于我們的項目IDE版本是VS2008,對于T4的參數傳遞支援還不是很友好,你可能說用AppDomain.SetData,或者CallContext.LogicalSetData,但是可惜我們的餓MappingRule是不可序列化的,是以最後我隻得采用了字元串拼接最笨的辦法,為了應對生成政策不同,在這裡我們加入了政策模式來應付,來看看代碼結構吧:

<a href="http://images.cnblogs.com/cnblogs_com/whitewolf/201203/201203312050275411.png"></a>

   在這裡隻支援對do的二級屬性映射為dto的平面屬性,全部針對IMappingRule生成代碼,在這裡為了生成合法的代碼而非表達式,對以前的表達式進行了重新的标準約定,在代碼注釋。以及對上個版本的List轉換進行了多次重載,主要為了滿足DTo到DO對象的特殊要求,因為我們在領域開發存儲DTO的時候都是需要先取出DO對象在根據DTO在DO對象的基礎上進行修改,以便ORM領域架構或者UOW的跟蹤記錄。

View Code

最後的生成檔案: 

1.cs:

2.cs 

3.cs: 

本文轉自破狼部落格園部落格,原文連結:http://www.cnblogs.com/whitewolf/archive/2012/03/31/AgileMapper2.html,如需轉載請自行聯系原作者

上一篇: (?&gt;?&lt;?)
下一篇: ios 人臉檢測

繼續閱讀