考虑以下伪代码Expression<Func<E,Datetime?>> expr = e => (e.d1 ?? e.Rel.d1) ?? e.d2;var q = myContext.E_DbSet.Select(x => new someDeclaredType { Id = x.Id, V = expr});=> CS0029 无法将类型“System.Linq.Expressions.Expression>”隐式转换为“System.DateTime?”如果我尝试编译Expression<Func<E,Datetime?>> expr = (e => (e.d1 ?? e.Rel.d1) ?? e.d2).Compile();var q = myContext.E_DbSet.Select(x => new someDeclaredType { Id = x.Id, V = expr(x)});=> NotSupportedException: LINQ to Entities 不支持 LINQ 表达式的节点类型“调用”。我阅读了在 Select 语句中调用表达式 - LINQ to Entity Framework。但这不是我的确切情况。我需要在我的 select 子句中包含一个现有的表达式。这个表达式是函数调用的结果。所以我必须expr在我的 select 子句中使用。如何做呢 ?
2 回答
- 2 回答
- 0 关注
- 190 浏览
添加回答
举报
0/150
提交
取消