我使用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
的类型为CmsContent
且o.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/