我正在使用EF 4,但当我试图订购我的列表时,它给了我错误。无法将类型'System.String'转换为键入'System.Object'。 LINQ to Entities只支持铸造实体数据模型原始类型
Unable to cast the type 'System.String' to type 'System.Object'. LINQ to Entities only supports casting Entity Data Model primitive types.
这是我的代码输入酒店名称以获得表达研究,下面的例子让客户名称
var param = Expression.Parameter(typeof(Customer), "N");
var sortExpression = Expression.Lambda<Func<T, object>>
(Expression.Convert(Expression.Property(param, "Name"), typeof(object)), param);
我的EF代码
GetObjectSet<T>().AsQueryable().OrderBy(sortExpression).Skip(0).Take(5);
我知道这是EF的一些铸造问题,因为它没有EF的工作,但它给了我这个错误,当我把它与EF挂钩。有没有解决办法或者是因为我不想使用LINQ。
您已经在使用LINQ。 'AsQueryable','OrderBy','Skip'和'Take'都是LINQ操作符。 – 2010-07-11 01:42:44
什么我是LINQ到SQL而不是LINQ抱歉。如果你使用LINQ to SQL,我的上面的代码工作。它不适用于EF。 – Ganator 2010-07-11 16:18:27