无法创建常量值 - 只允许基本类型或枚举类型

2024-05-10

我在这里看到了一些与此异常相关的问题,但没有一个让我理解问题的根本原因。所以这里我们还有一个...

var testquery = 
((from le in context.LoanEMIs.Include("LoanPmnt")
  join lp in context.LoanPmnts on le.Id equals lp.LoanEMIId
  where lp.PmntDtTm < date && lp.IsPaid == false
  && le.IsActive == true && lp.Amount > 0
  select new ObjGetAllPendingPmntDetails
  {
      Id = lp.Id,
      Table = "LoanEMI",
      loanEMIId = lp.LoanEMIId,
      Name = le.AcHead,
      Ref = SqlFunctions.StringConvert((double)le.FreqId),
      PmntDtTm = lp.PmntDtTm,
      Amount = lp.Amount,
      IsDiscard = lp.IsDiscarded,
      DiscardRemarks = lp.DiscardRemarks
  }).DefaultIfEmpty(ObjNull));

  List<ObjGetAllPendingPmntDetails> test = testquery.ToList();

此查询给出以下异常消息 -

无法创建类型的常量值CashVitae.ObjGetAllPendingPmntDetails。此上下文中仅支持基本类型或枚举类型。

添加 SQL 函数语句进行转换后出现此异常le.FreqId这是一个byte to a string as ToString()LINQ 表达式存储区无法识别。

ObjGetAllPendingPmntDetails是我的模型中的一个部分类,添加它是因为它在代码中使用太多次来将数据绑定到表。 它两者都有IDs 为 long,“金额”为十进制,PmntDtTm as Datetime,IsDiscard作为布尔值,其余都是字符串,包括“Ref”。

我没有得到任何结果,因为目前没有数据满足条件。在尝试处理 null 时,我添加了DefaultIfEmpty(ObjNull) and ObjNull所有属性均按如下方式初始化。

ObjGetAllPendingPmntDetails ObjNull = new ObjGetAllPendingPmntDetails()
{ Id = 0, Table = "-", loanEMIId = 0, Name = "-", Ref = "-",
  PmntDtTm = Convert.ToDateTime("01-01-1900"),
  Amount = 0, IsDiscard = false, DiscardRemarks = "" };

我需要这个查询才能正常工作Union()并通过其他 5 个查询对其进行了调用。全部返回相同的ObjGetAllPendingPmntDetails列。但是存在一些问题,因为该查询没有满足条件的数据以及上面共享的异常。

任何建议都将受到赞赏,因为我无法理解问题的根本原因。


@AndrewCoonce 是对的,.DefaultIfEmpty(ObjNull)是这里的罪魁祸首。实体框架转向DefaultIfEmpty进入类似...

CASE WHEN ([Project1].[C1] IS NULL) THEN @param ELSE [Project1].[Value] END AS [C1]

...但是没有办法强制一个实例ObjGetAllPendingPmntDetails变成可以代替的东西@param,所以你会得到一个例外。

如果您移动DefaultIfEmpty之后调用ToList它应该可以正常工作(尽管您需要调用ToList如果您确实想要一个具体的列表实例,那么之后再一次)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法创建常量值 - 只允许基本类型或枚举类型 的相关文章

随机推荐

  • 按百分比减少多边形面积

    我有一个由点 x y 组成的多边形 我想做的是将其减少一个百分比 请记住 我不想只是扩大规模 多边形应该有一种内部边界 其宽度取决于百分比 该内部边界被多边形切断 谁知道可以实现这一目标的算法 输入 点数组 百分比 输出 点数组 你所寻求的
  • 当行数 = 0 时删除 Excel 列中的单元格

    我试图删除电子表格中某一列中的所有单元格 0 并 召唤 不在该列顶部的值 我目前正在使用 Dim row index As Integer Dim col index As Integer row index 7 col index 16
  • 如何在 UML 中正式记录 C# 属性?

    在 UML 类图中记录类的 C 属性的正确方法是什么 我还没有决定这是否是我的答案 但我想我会把它扔在那里以便讨论 这看起来可以接受吗 它是属性类型的实例 其中元数据值放入下面的标记值中 我刚刚弄清楚如何添加自定义立体类型 该箭头只是一个标
  • 如何在 scss 中包含仅限 Safari 的样式? [复制]

    这个问题在这里已经有答案了 我只是想修改仅适用于 safari 浏览器的样式属性 这将覆盖默认属性 简单的例子 Default div color blue Safari 浏览器 div color red 我想这可以通过 scss 的 i
  • dotnet 核心并行或同时构建

    In this https github com gatimus DotnetParallelBuild解决方案我有2个应用程序 AppA AppB共享类库Shared 我尝试过自动化这些并行的构建 运行电源外壳 https github
  • 当添加列较少时追加到现有 SQLite 表,而不将数据库读入 R

    是否有一些简单的方法 无论是在 SQL 端还是在 R 端 将 data frame 附加到具有更多列的现有表 缺失的列应该用 NA 填充 如果它能够优雅地处理比表 1 列数更多的表 2 那么会加分吗 library RSQLite Crea
  • Java:如何实现3和?

    我正在研究 3 Sum 来自己实现它 并遇到了以下规则的实现 给定一个由 n 个整数组成的数组 S S 中是否存在满足 a b c 0 的元素 a b c 查找数组中所有总和为零的唯一三元组 注意 三元组 a b c 中的元素必须按非降序排
  • 使用 Cypress 绕过 UI 登录

    我在绕过 UI 登录时遇到问题 我的 Web 应用程序不使用 API 来验证用户身份 没有像这样的端点 login index php只需打开登录页面并提交表单即可登录 应用程序通过以下方式对用户进行身份验证auth REQUEST use
  • 缺少“框架级别”访问修饰符

    这是场景 作为公共许可的开源 API 的创建者 我的团队创建了一个基于 Java 的 Web 用户界面框架 那么还有什么新鲜事呢 为了让事情像 Java 中那样井然有序 我们使用了具有命名约定的包 org mygroup myframewo
  • Excel VBA - 循环文件夹中的文件、复制范围、粘贴到此工作簿中

    我有 500 个包含数据的 Excel 文件 我会将所有这些数据合并到一个文件中 实现此目标的任务列表 我想循环遍历文件夹中的所有文件 打开文件 复制此范围 B3 I102 将其粘贴到活动工作簿的第一张工作表中 重复但在下面粘贴新数据 我已
  • 无论如何从变量名获取字符串?

    说我有课 interface Person NSObject NSString name 我需要获取类中 NSString 的名称 Person person Person alloc init NSLog Name of variable
  • 如何使用 JavaScript 判断大写锁定是否已打开?

    如何使用 JavaScript 判断大写锁定是否已打开 但有一个警告 我确实用谷歌搜索了它 我能找到的最好的解决方案是附加一个onkeypress事件到每个输入 然后每次检查按下的字母是否为大写 如果是 则检查是否也按住了shift 如果不
  • 在 NextJS 上运行开发服务器(在网络上)

    在使用 ReactJS 时 当我们使用命令 npm start 时 它会在 localhost 3000 以及网络 192 168 1 2 3000 上启动开发服务器 这非常简单 我可以通过进入该地址在所有设备上测试我的应用程序 最近我开始
  • 如何使用 javafx 创建响应式文本?

    我创建了一个标签 其中显示了一个数字 现在我想让这个数字响应 GUI 我怎样才能做到这一点 这是我的号码及其当前字体大小 Label label new Label label setText 12 label setFont Font f
  • 无需测试即可构建 Gradle

    我想执行gradle build不执行单元测试 我试过 gradle Dskip tests build 这似乎没有什么作用 我还可以使用其他命令吗 您应该使用 x排除任何任务的命令行参数 Try gradle build x test U
  • 为什么不使用 Interface Builder [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 模数和余数之间的差异

    我正在做一些计算 运算符在java and python 在计算时我发现 处理负数时 运算符在两种语言中的工作方式有所不同 例如 21 4 1 Java 21 4 3 Python 所以我查看了 stackoverflow 上的一些帖子 发
  • 在 jQuery UI 1.10 中的对话框标题中使用 HTML

    http jqueryui com upgrade guide 1 10 changed title option from html to text http jqueryui com upgrade guide 1 10 changed
  • Rx 中的热连接

    Observable Concat是一个连接可观察量的实现 但第二个IObservable
  • 无法创建常量值 - 只允许基本类型或枚举类型

    我在这里看到了一些与此异常相关的问题 但没有一个让我理解问题的根本原因 所以这里我们还有一个 var testquery from le in context LoanEMIs Include LoanPmnt join lp in con