2013-07-25 80 views
0

我想創建一個LINQ到SQL的解決方案,使用我將調用基本的LINQ到SQL。這不是一個完整的ORM解決方案,通過EF或類似的東西。現在的重點是利用LINQ的功能並減少存儲過程(以及其他一些好處)。將dto映射到實體?也許automapper?應該屬性匹配? LINQ選擇

我已經在DTO和實體之前做了一些工作......但這也是一個自定義實現。在那個實現中使用了automapper。當知識產權與DTO屬性匹配時,我知道automapper「最適合」。但如果他們不呢?你能以自定義的方式配置它嗎?

我想一個更大的問題是......這是一個真正的解決方案,你不能在查詢中實例化「LINQ映射的」「實體」。要清楚你不能使用linq並選擇一個新的「實體」,你將不得不選擇一個未映射的DTO。我最終試圖做的是避免在給定查詢中將實體映射到DTO。我想這不是什麼大不了的事情,但是像automapper這樣的解決方案能解決這個問題嗎?

回答

0

我不完全知道你是問什麼,但:

我知道automapper「效果最好」的時候entitiy屬性匹配DTO性能。但如果他們不呢?你能以自定義的方式配置它嗎?

如果你問我認爲你問你應該看看.ForMember並重寫Convert函數。還有在維基兩個例子: .ForMember:https://github.com/AutoMapper/AutoMapper/wiki/Projection 轉換:https://github.com/AutoMapper/AutoMapper/wiki/Custom-type-converters

Automapper做工作「最好」的時候DTOS和實體相匹配,因爲它的超級容易建立兩者之間的映射是他們的屬性名稱和類型匹配。當它們不匹配時,您需要使用.ForMember手動選擇屬性,或者通過重寫Convert函數手動執行整個轉換。

我希望這有點幫助。如果不是,或者您需要更多信息,請在下面彈出評論。

相關問題