将 class 映射到 SelectListItem 时出错

error while mapping class to SelectListItem

我正在尝试将 class 映射到 SelectListItem,如下所示:

return Json(id == null
                ? Enumerable.Empty<SelectListItem>()
                : Find<BusLineRouteStop>.All.Where(x => x.Template.Id == id)
                    .MapTo<BusLineRouteStop, SelectListItem>());  

得到这个:

错误:缺少类型映射配置或不支持的映射。映射类型:BusLineRouteStop -> SelectListItem

出现这种情况是因为你没有指定映射规则(系统不知道BusLineRouteStop的哪些值对应SelectListItem的值。你可以换一种方式,如果这是一次性事件:

return Json(id == null
                ? Enumerable.Empty<SelectListItem>()
                : Find<BusLineRouteStop>.All.Where(x => x.Template.Id == id).Select(x => new SelectListItem
                {
                    Value = x.BusLineStopValue,
                    Text = x.BusLineStopName,
                    Disabled = false,
                    Selected = false
                });

P.S.我用BusLineRouteStop的虚域来演示机会