2011-12-06 46 views
2

我已經成功地使用AutoMapper一段時間了。但是,當我在CreateMap調用中使用MapFrom()時,出現上述錯誤。AutoMapper - MapFrom給我以下錯誤:表達式樹不能包含賦值運算符

我已升級到版本2,它似乎註冊表已被打破。

CreateMap<EmailInbound, EmailMessageModel>() 
      .ForMember(dest => dest.Subject, opt => opt.MapFrom(src => src.Subject = (string.IsNullOrEmpty(src.Subject) ? "No Subject" : src.Subject))); 

任何想法是什麼打破了這裏?

回答

3

您正試圖在lambda表達式中執行賦值,而不是返回值。這是固定版本。

CreateMap<EmailInbound, EmailMessageModel>() 
.ForMember(dest => dest.Subject, opt => opt.MapFrom(src => string.IsNullOrEmpty(src.Subject) 
                 ? "No Subject" 
                 : src.Subject)); 
+0

謝謝。順便說一句,他們的網站:http://automapper.org/blog/2011/09/22/automapper-20-released/它表明這是突破性的變化:MapFrom只是基於表達式。使用ResolveUsing for Func支持。這是它打破的原因嗎? – jaffa

+0

竹has已經下降!這項任務並不是必需的,但是v2必須突出顯示這是一個錯誤,而v1沒有。再次感謝。 – jaffa

相關問題