错误:表达式树可能不包含动态操作

我使用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表达式转换动态类型似乎是不可能的。

我如何解决问题,并能够o in my Lamba使用我的对象o in my Lamba ? 谢谢

PS: e.Item.DataItem属于CmsContent类型, o.ContentId属于Int类型

拆箱对象将起到作用:

  int contentId = (int)o.ContentId; var image = context.CmsImagesContents.FirstOrDefault(img => img.ContentId == contentId); 

有关’拳击/拆箱’的更多信息, 请单击此处

更改

 dynamic o = e.Item.DataItem; 

 var o = (CmsContent)e.Item.DataItem;