2010-08-04 256 views
4

什麼是映射類對象的最佳解決方案,以輕量級類對象的例子:映射對象

客戶向CustomerDTO都具有相同的屬性名稱,我是他們之間的映射思維的最佳優化的解決方案,我知道反思讓我感到沮喪,並且爲每個映射製作方法都很耗時,所以有什麼想法?

在此先感謝。

+0

反射可能不會像您想象的那樣慢下來。 – 2010-08-04 15:05:57

+0

這是否在運行時發生? – AnthonyLambert 2010-08-04 15:24:50

+0

im在層之間映射對象以失去夫婦 – Stacker 2010-08-04 15:30:00

回答

7
+0

該死的,打我吧。 +1 – 2010-08-04 15:05:27

+0

automapper是如此之慢,我試過了,測試它比做20次映射手冊要慢! – Stacker 2010-08-04 15:11:02

+0

@Zeus。確實 - 但這對您的系統有什麼影響? – 2010-08-04 15:12:03

1

我一直在玩這個,並有以下意見。客戶應該繼承CustomerDTO還是讀/寫CustomerDTO?我發現一些DTO生成器只能生成DTO內的數據項向量的啞固定大小數組集合,其他人將允許您指定LIST <>或某些此類集合。高級集合不需要出現在序列化的DTO中,而是需要採取的方法。如果您的解決方案添加了高級集合,那麼您可以繼承,否則您可能需要讀取/寫入中間DTO。

我使用Protocol Buffers和XSDObjectGenerator作爲我的DTO代(在不同的時間!)。

0

一種新的選擇是UltraMapper

比我到2017年2月試過的任何東西都快。 (在任何情況下比Automapper快兩倍)

它是比AutoMapper更可靠(沒有StackOverflows,沒有深度限制,沒有自引用限制)。

UtraMapper是只需1300行代碼而不是超過4500+的Automapper,它更容易理解,維護和貢獻於項目。

這是積極開發,但在這一刻它需要社區審查。 試試看,並在頁面項目上留下反饋!