使用AutoMapper-将域映射到视图模型时,可以使用where语句来限制映射到视图模型的内容。我使用以下内容将商品列表映射到OfferVM视图模型:
vm.Offers = Mapper.Map<IList<Offer>, IList<OfferVM>>(offers);
但是,如果要约上的属性设置为true,我只想将要约列表中的项目映射到OfferVM,例如:
vm.Offers = Mapper.Map<IList<Offer>, IList<OfferVM>>(offers)
.Where(x => x.RoomName1s==true);
但这给出了错误:
Cannot implicitly convert type
'System.Collections.Generic.IEnumerable<FGBS.ViewModels.OfferVM>'
to
'System.Collections.Generic.IList<FGBS.ViewModels.OfferVM>'.
An explicit conversion exists (are you missing a cast?)
谢谢你的帮助。
标记
最佳答案
您需要使用IEnumerable<OfferVM>
将Where
返回的IList<OfferVM>
转换为ToList()
vm.Offers = Mapper.Map<IList<Offer>, IList<OfferVM>>(offers)
.Where(x => x.RoomName1s==true)
.ToList();
关于c# - 使用Where语句的ASP.Net MVC C#AutoMapper,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18366443/