【发布时间】:2015-04-24 19:38:21
【问题描述】:
我正在尝试在我的代码中使用 AutoMapper。映射集合时,出现此错误
LINQ to Entities 无法识别该方法 'System.Collections.Generic.List
1[Web.ViewModels.FirmMatterViewModel] Map[ICollection1,List1](System.Collections.Generic.ICollection1[Web.Models.FirmMatter])' 方法,并且该方法不能翻译成商店表达式。
这是我如何进行映射的代码:
var clientMatters =
from cm in db.ClientMatters
.Include(t => t.Billing)
.Include(t => t.Billing.Office)
.Include(t => t.Billing.Client)
.Include(t => t.FirmMatters)
select new ClientMatterIndexListViewModel
{
ClientMatterID = cm.ClientMatterID,
BillingID = cm.BillingID,
OfficeName = cm.Billing.Office.Name,
ClientName = cm.Billing.Client.Name,
ClientMatterNo = cm.ClientMatterNo,
Description = cm.Description,
FirmMatters = Mapper.Map<ICollection<FirmMatter>, List<FirmMatterViewModel>>(cm.FirmMatters)
};
我已经为 FirmMatter 创建了地图
Mapper.CreateMap<FirmMatter, FirmMatterViewModel>();
我的代码有什么问题?
【问题讨论】:
-
您应该将 Mapper.Map(FirmMatter, FirmMatterViewModel>(); 添加到您的代码中。例如,您可以查看下面的链接;codeproject.com/Articles/61629/AutoMapper
标签: c# linq automapper