簡體   English   中英

具有自身子級的C#AutoMapper

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM