为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 select 子句中使用表达式

如何在 select 子句中使用表达式

C#
子衿沉夜 2021-06-04 13:05:06
考虑以下伪代码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 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信