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

Gib*_*boK 14 c# linq linq-to-entities dynamic

我使用Asp.Net 4和C#,我使用EF 4.

我有这个查询,我收到一个错误:

 An expression tree may not contain a dynamic operation
Run Code Online (Sandbox Code Playgroud)
dynamic o = e.Item.DataItem;
var imagesContent = context.CmsImagesContents.FirstOrDefault(img => img.ContentId == o.ContentId);
Run Code Online (Sandbox Code Playgroud)

使用Lamba表达式转换动态类型似乎是不可能的.

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

PS: e.Item.DataItem属于Type CmsContento.ContentId属于类型Int

Gib*_*boK 11

取消装箱对象将起到作用:

     int contentId = (int)o.ContentId;
     var image = context.CmsImagesContents.FirstOrDefault(img => img.ContentId == contentId);
Run Code Online (Sandbox Code Playgroud)

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