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

qkf9rpyu  于 2022-12-06  发布在  其他
关注(0)|答案(3)|浏览(183)

我使用Asp.Net4和C#,我使用EF4。
我有这样的查询,我收到一个错误:
第一个
使用Lamba表达式转换动态类型似乎是不可能的。
我如何解决这个问题,并能够使用我的对象o in my Lamba?谢谢
PS:e.Item.DataItem属于CmsContent类型,o.ContentId属于Int类型

qyswt5oh

qyswt5oh1#

将对象取消装箱即可:

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

有关“装箱/取消装箱”click here的详细信息

oyjwcjzk

oyjwcjzk2#

变更

dynamic o = e.Item.DataItem;

结束日期

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

ne5o7dgx3#

我在没有以任何明显的方式使用动态的代码中发现了这个问题。我发现这是由于在类using语句中包含了下面的引用引起的。删除它似乎改变了编译器解释Linq表达式的方式。

using System.Linq.Dynamic.Core;

相关问题