首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架6使用反射排序

实体框架6使用反射排序
EN

Stack Overflow用户
提问于 2018-07-17 02:26:02
回答 0查看 50关注 0票数 0

我试图通过c#反射来填充一个一对多的关系。我尝试实现的是以下EF查询

代码语言:javascript
复制
_db.Entry(item).Collection(p => p.Valori).Query().OrderBy(o=>o.Ordinamento).Load();

我的要求是使用我自己的注释自动创建查询

代码语言:javascript
复制
    [EagerLoad("Ordinamento")]
    [InverseProperty("Attributo")]
    public virtual ICollection<AttributoValore> Valori { get; set; } 

直到order by语句正常工作

代码语言:javascript
复制
    _db.Entry(entity).Collection(propertyInfo.Name).Load();

其中entity是包含我要填充的集合和propertyInfo.Name ==“Valori”的对象。

我找不到正确的语法来创建lamda表达式this代码

代码语言:javascript
复制
ParameterExpression pe = Expression.Parameter(type, "x");
Expression<Func<object, K>> expr = Expression.Lambda<Func<object, K>>(Expression.Property(pe, el.ordinamento), pe);


_db.Entry(entity)
    .Collection<Object>(propertyInfo.Name)
    .Query()
    .OrderBy(expr)
    .Load();

生成异常: System.ArgumentException:'Jerp.AttributoValore‘类型的ParameterExpression不能用于’System.Object‘类型的委托参数。有人能帮我吗?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51368014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档