1

オートマッパーを使用してモデルのコレクションをビューモデルにマップしたいこれは私のコードです

public class LanguageViewModel
    {
        public string Name { get; set; }
        public IList<Word> Categories { set; get; }
        public IList<string> PictureURL { set; get; }
    }

そしてこれが私のモデル

public class Word : BaseFieldsTables
{
    public string Text { get; set; }
    public virtual Category Category { get; set; }
    public int CategoryID { get; set; }
    public virtual Language Language { get; set; }
    public int LanguageID { get; set; }

    public virtual ICollection<Picture> Pictures { get; set; }

    [InverseProperty("MainWord")]
    public virtual ICollection<RelationshipBetweenWords> MainWords { get; set; }

    [InverseProperty("RelatedWord")]
    public virtual ICollection<RelationshipBetweenWords> RelatedWords { get; set; }
}
4

1 に答える 1

0

彼の例では、最上位ドメイン モデルから開始し、それをNested mappingsと呼ばれる内部コレクションでマップします。

mapper.CreateMap<Word , LanguageViewModel>()                
    .ForMember(dest => dest.Name, src => src.MapFrom(s => s.Text));

Word ドメイン モデル内の内部コレクションの場合、カテゴリと画像の個別のマッピングを定義する必要があります。

mapper.CreateMap<Picture, PictureModel>()                
   .ForMember(dest => dest.PictureURL , src => src.MapFrom(x => x.Picture.Urltext));

mapper.CreateMap<Category, CategoryModel>()                
   .ForMember(dest => dest.CategoryId, src => src.MapFrom(x => x.Category.CategoryInt));

残りのすべての内部コレクションについては、マッピングを定義して機能させる必要があります

于 2012-06-28T00:16:00.833 に答える