我使用Asp.Net 4和C#,我使用EF 4。
我有这个查询,收到错误:
An expression tree may not contain a dynamic operation
dynamic o = e.Item.DataItem;
var imagesContent = context.CmsImagesContents.FirstOrDefault(img => img.ContentId == o.ContentId);
使用Lamba Expression投射动态类型似乎是不可能的。
我如何解决问题,并能够使用我的对象o in my Lamba
?感谢
PS:
e.Item.DataItem
属于CmsContent
类型
o.ContentId
的类型为Int
答案 0 :(得分:10)
取消装箱对象将起到作用:
int contentId = (int)o.ContentId;
var image = context.CmsImagesContents.FirstOrDefault(img => img.ContentId == contentId);
有关'装箱/拆箱'click here
的详情答案 1 :(得分:3)
更改
dynamic o = e.Item.DataItem;
要
var o = (CmsContent)e.Item.DataItem;