[英]How do I use Automapper Projections in a Generic Repository to avoid circular references?
我在MVC應用程序中使用通用存儲庫,並且還使用自動映射器在視圖模型之間進行映射。 我之所以需要這樣做,是為了避免模型中的循環引用,並且還利用了數據注釋等。我已經改用Generic Repository
模式和unit of work
但是我似乎不再能夠使用Automapper的.ProjectTo
。
這是我的代碼,由KendoUI MVC網格調用,它返回數據列表(具有關系並因此具有循環引用)。
public ActionResult GetItems([DataSourceRequest] DataSourceRequest request)
{
var item = unitOfWork.ItemRepository.Get();
var result = item.ToDataSourceResult(request);
return Json(result);
}
為了避開循環引用,我使用了一個視圖模型,這也使我可以對數據進行其他控制。 我發現它不會讓我使用project。
public ActionResult GetItems([DataSourceRequest] DataSourceRequest request)
{
var item = unitOfWork.ItemRepository.Get().ProjectTo<ItemViewModel>;
var result = item.ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
Intellisense返回以下錯誤:
無法將方法組分配給隱式類型的變量
出了什么問題,還有另外一種方法可以做到這一點嗎?
我認為您只是在ProjectTo<>()
調用的末尾缺少括號:
var item = unitOfWork.ItemRepository.Get().ProjectTo<ItemViewModel>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.