什麼是映射類對象的最佳解決方案,以輕量級類對象的例子:映射對象
客戶向CustomerDTO都具有相同的屬性名稱,我是他們之間的映射思維的最佳優化的解決方案,我知道反思讓我感到沮喪,並且爲每個映射製作方法都很耗時,所以有什麼想法?
在此先感謝。
什麼是映射類對象的最佳解決方案,以輕量級類對象的例子:映射對象
客戶向CustomerDTO都具有相同的屬性名稱,我是他們之間的映射思維的最佳優化的解決方案,我知道反思讓我感到沮喪,並且爲每個映射製作方法都很耗時,所以有什麼想法?
在此先感謝。
該死的,打我吧。 +1 – 2010-08-04 15:05:27
automapper是如此之慢,我試過了,測試它比做20次映射手冊要慢! – Stacker 2010-08-04 15:11:02
@Zeus。確實 - 但這對您的系統有什麼影響? – 2010-08-04 15:12:03
我一直在玩這個,並有以下意見。客戶應該繼承CustomerDTO還是讀/寫CustomerDTO?我發現一些DTO生成器只能生成DTO內的數據項向量的啞固定大小數組集合,其他人將允許您指定LIST <>或某些此類集合。高級集合不需要出現在序列化的DTO中,而是需要採取的方法。如果您的解決方案添加了高級集合,那麼您可以繼承,否則您可能需要讀取/寫入中間DTO。
我使用Protocol Buffers和XSDObjectGenerator作爲我的DTO代(在不同的時間!)。
如果反射放慢你失望太多,嘗試Fasterflect:http://www.codeproject.com/KB/library/fasterflect_.aspx
如果您使用的緩存機制,這是沒有太大的比手寫的代碼慢。
即時試試看,我會給反饋 – Stacker 2010-08-04 15:25:48
一種新的選擇是UltraMapper。
比我到2017年2月試過的任何東西都快。 (在任何情況下比Automapper快兩倍)
它是比AutoMapper更可靠(沒有StackOverflows,沒有深度限制,沒有自引用限制)。
UtraMapper是只需1300行代碼而不是超過4500+的Automapper,它更容易理解,維護和貢獻於項目。
這是積極開發,但在這一刻它需要社區審查。 試試看,並在頁面項目上留下反饋!
反射可能不會像您想象的那樣慢下來。 – 2010-08-04 15:05:57
這是否在運行時發生? – AnthonyLambert 2010-08-04 15:24:50
im在層之間映射對象以失去夫婦 – Stacker 2010-08-04 15:30:00