3

ソースクラス:

public class Page  : EntityBase 
{
    public Page()
    {
        this.Articles = new List<Article>();
    }

    public virtual ICollection<Article> Articles { get; set; }
}

public class Article : EntityBase 
{
    public Article()
    {
        this.Pages = new List<Page>();
    }

    public virtual ICollection<Page> Pages { get; set; }
}

宛先クラス

public class EditPageModel : ModelBase 
{
    public string Title { get; set; }
    public List<Article> Articles { get; set; }

    public override ModelBase Initialize(EntityBase entity)
    {
        return ObjectMapperManager.DefaultInstance.GetMapper<Page, EditPageModel>().Map((Page)entity);
    }
}

私が使うとき

var model = (EditPageModel)new EditPageModel().Initialize(entity);

エラーが発生しました

タイプ 'System.Data.Entity.DynamicProxies.Article_2F97D0440149ED4566ED7675640D475A23EB97002CFD5941610DD0C9BCE74E55' のオブジェクトをタイプ 'System.Collections.Generic.ICollection`1[SomeProject.Dal.Models.Articles.Article]' にキャストできません。

AutoMapper を使用すると、正常に動作します。

4

0 に答える 0