我在我的MVC应用程序中使用通用存储库,我还使用了者自动传感器来在viewmodel之间进行映射。我需要这个的原因是为了避免我的模型的循环引用,也利用数据注释等。我已经重新开始Generic Repository
模式和unit of work
,但我似乎不再能够使用Automapper了.ProjectTo
。
这是我的代码,这是由一个KendoUI MVC Grid调用的,它返回一个数据列表(它有一个关系,因而是循环引用)。
public ActionResult GetItems([DataSourceRequest] DataSourceRequest request)
{
var item = unitOfWork.ItemRepository.Get();
var result = item.ToDataSourceResult(request);
return Json(result);
}
为了解决循环引用,我使用了一个viewmodel,这也让我可以对我的数据进行额外的控制。我发现它不会让我使用项目。
public ActionResult GetItems([DataSourceRequest] DataSourceRequest request)
{
var item = unitOfWork.ItemRepository.Get().ProjectTo<ItemViewModel>;
var result = item.ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
Intellisense返回错误:
无法将方法组分配给隐式类型变量
出了什么问题,还有另外一种方法吗?
答案 0 :(得分:1)
我认为你只是在ProjectTo<>()
电话结束时缺少括号:
var item = unitOfWork.ItemRepository.Get().ProjectTo<ItemViewModel>();