2 buhuan123 buhuan123 于 2013.06.26 17:42 提问

无法将“System.Int32”强制转换为“System.Object”LINQtoEntities 仅支持转换 EDM

List result = relationDal.SearchRecord( m => m.ECategoryPropertyRelation_Id >= 0, m => m.ECategoryPropertyRelation_Id , pageIndex, pageSize, desc, out recordCount);
List SearchRecord(System.Linq.Expressions.Expression> where, System.Linq.Expressions.Expression> order, int pageIndex, int pageSize, bool desc,out int recordCount);

出错的地方在 order排序 参数,因为m => m.ECategoryPropertyRelation_Id 是int型 不能转换成object 这是错误提示,但是 我换成string的字段去orderby就没错 不知道什么原因。

var Result = PropEntity.CreateQuery(GetNameByT()).Where(where).OrderByDescending(order).Skip(pageIndex * pageSize).Take(pageSize).Select(l => l);

但是 也不能用 m => m.ECategoryPropertyRelation_Id as object 同样报错

无法将类型“System.Int32”强制转换为类型“System.Object”。LINQ to Entities 仅支持强制转换 EDM 基元或枚举类型。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NotSupportedException: 无法将类型“System.Int32”强制转换为类型“System.Object”。LINQ to Entities 仅支持强制转换 EDM 基元或枚举类型。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!