我使用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?谢谢

PS:e.Item.DataItem的类型为CmsContento.ContentId的类型为Int

最佳答案

取消装箱对象将达到目的:

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

有关“装箱/拆箱” click here的更多信息

关于c# - 错误:表达式树可能不包含动态操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7118550/

10-10 13:33