[英]C# AutoMapper with a child of itself
可以自動映射帶有自己子項的對象嗎? 在此示例中:
public class Book
{
public int? BookKey { get; set; }
public Categories bookCategories { get; set; }
}
public class Categories
{
public int? CategoryKey { get; set; }
public List<Book> RecommendedBooks { get; set; }
}
Mapper.CreateMap<Common.BookList, Book>().IgnoreAllNonExisting();
Mapper.AssertConfigurationIsValid();
Mapper.CreateMap<Common.Categories, Categories>().IgnoreAllNonExisting();
Mapper.AssertConfigurationIsValid();
交換最后兩個地圖每次都會導致錯誤。 首先預定,意味着它不理解類別,而首先確定類別,則意味着它不理解書籍。
AutoMapper.AutoMapperConfigurationException:Common.BookList / Common.Categories上的以下屬性無法映射。
您只需要調用一次配置驗證即可 。 多次進行調試可能會很有意義(這會使您更接近映射代碼的位置),但是在這種情況下,這些映射是相互依賴的(構建Book
映射需要Automapper來知道如何映射bookCategories
)。
將代碼更改為下面的代碼,它將正常工作
Mapper.CreateMap<Common.BookList, Book>().IgnoreAllNonExisting();
Mapper.CreateMap<Common.Categories, Categories>().IgnoreAllNonExisting();
Mapper.AssertConfigurationIsValid();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.