SqlException 因为子查询返回超过 1 个值

2024-04-09

我有以下 LINQ 查询,用于构造一个结构以填充到 JavaScript 网格库中,这与本示例无关,但我想我仍然会解释这一点。

var output = myObjects.Select(
    p => new RowModel
    {
         ID = p.LeadUID,
         Cells =
             new CellCollection(fields,
                p.myDataDatas.Where(q => q.myField.ParentUID == null).Select(
                    q => new CellModel
                             {
                                 Value = q.Value,
                                 Name = q.myField.Description,
                                 Display = q.myField.Description
                             }).ToList()
                ,
                new CellModel
                    {
                        Name = "Campaign",
                        Display = "Campaign",
                        Value = p.Campaign.Name
                    }
                ,
                new CellModel
                    {
                        Name = "CampaignEnabled",
                        Display = "CampaignEnabled",
                        Value = p.Campaign.IsActive.ToString()
                    },
                new CellModel
                    {
                        Name = "Date Received",
                        Display = "Date Received",
                        Value = p.DateAdded.ToString()
                    }
                ,
                new CellModel
                    {
                        Name = "Is Valid",
                        Display = "Is Valid",
                        Value = BooleanMap[p.IsValid]
                    }
                ,
                new CellModel
                    {
                        Name = "Invalid Reason",
                        Display = "Invalid Reason",
                        Value = p.InvalidReason

                    }
                ,
                new CellModel
                    {
                        Name = "Is Returned",
                        Display = "Is Returned",
                        Value = BooleanMap[p.IsReturned]
                    }
                ,
                new CellModel
                    {
                        Name = "Return Reason",
                        Display = "Return Reason",
                        Value =
                            context.MYReturns.SingleOrDefault(
                                l => l.LeadUID == p.MyUID).ReturnReason
                    }
                ,
                new CellModel
                    {
                        Name = "Workflow",
                        Display = "Workflow",
                        Value =
                            context.Stages.SingleOrDefault(
                                s => s.LifecycleStageUID == p.LifecycleStageUID).
                            Name
                    }
                ,
                new CellModel
                    {
                        Name = "WorkflowEnabled",
                        Display = "WorkflowEnabled",
                        Value =
                            context.Stages.SingleOrDefault(
                                s => s.LifecycleStageUID == p.LifecycleStageUID).
                            IsActive.ToString()
                    }
                ,
                new CellModel
                    {
                        Name = "Status",
                        Display = "Status",
                        Value = p.MyStatus.Name
                    }
                ,
                new CellModel
                    {
                        Name = "StatusDeleted",
                        Display = "StatusDeleted",
                        Value = (p.MyStatus.Deleted).ToString()
                    }
                ,
                new CellModel
                    {
                        Name = "LeadSource",
                        Display = "Lead Source",
                        Value = MySourcesMap[p.AccountSourceUID].Name
                    }
                ,
                new CellModel
                    {
                        Name = "LeadSourceEnabled",
                        Display = "LeadSourceEnabled",
                        Value = AccountSoucesEnabledMap[p.AccountSourceUID].ToString()
                    }
                        )
                     }
            );
            var rows = output.ToList();
            return rows;

我希望更改代码中大多数变量的名称不会影响整体情况。

我面临的问题是有时我得到以下信息SQLException信息:

子查询返回超过 1 个值。当子查询跟随时这是不允许的=, !=, <, <= , >, >=或者当子查询用作表达式时。

我想知道的是,在我的查询中,我在哪里做错了一些有时(大多数时候)会起作用的事情,然后很少返回此错误消息。如何正确预防这种情况的发生?


use the 数据上下文.日志 http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.log.aspx属性来显示查询生成的 sql。当只有一个结果有效时,您很可能有一个子查询生成多个结果。例如,如果子查询中返回多个结果,则以下 SQL 将失败:

Select * from orders where customer_id = 
  (select customer_id from customer where name ='bob')

如果子查询返回多个结果,则主查询中的 where 子句的相等性就没有意义。

您可能需要更改存储中某些数据列的唯一性,以确保子查询中只返回一行。另一种选择是更改您的类,以便分配给的特定问题属性是一个集合而不是单个值。

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

SqlException 因为子查询返回超过 1 个值 的相关文章

  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 当我们想要返回对象的引用时,为什么我们在赋值运算符中返回 *this 而通常(而不是 this)?

    我正在学习 C 和指针 我以为我理解了指针 直到我看到这个 一方面 asterix 运算符是解引用的 这意味着它返回值所指向的地址中的值 而与号 运算符则相反 它返回值存储的地址记忆 现在阅读有关赋值重载的内 容 它说 我们返回 this因
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 如何区分用户点击链接和页面自动重定向?

    拥有 C WebBrowser control http msdn microsoft com en us library system windows forms webbrowser aspx在我的 WinForms 应用程序中 并意识
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • 如何使用 iOS 图表更改无数据消息?

    使用时iOS 图表 https github com danielgindi charts并且没有数据 有一条默认消息显示 没有可用的图表数据 这个默认值可以编辑和处理翻译吗 这是您在显示数据之前自定义图表外观的方法 IBOutlet pr
  • Unescape 或 html 解码

    我正在使用树枝 1 12 2 我的代码从代码隐藏生成一些元素 当使用最新版本的 twig 渲染这些元素时 它们会进行 html 编码 for item in files folders tr class td img src border
  • 为什么即使 use_transactional_fixtures = false after_commit 也没有运行

    rspec 中的事务装置会阻止调用 after commit 但即使我使用以下命令禁用它们 RSpec configure do config config use transactional fixtures false end The
  • 比较 Double 和 Int 的最佳方式是什么?

    以下 C 代码不起作用 int iValue 0 double dValue 0 0 bool isEqual iValue Equals dValue 那么问题来了 比较 Double 和 Int 的最佳方法是什么 您确实不能以天真的方式
  • 交互式闪亮全局日期选择器

    我正在一个没有良好日期选择器的环境中使用 R 并且我正在尝试使用 R 弹出一个日期选择器来填补空白 大多数 R 日期选择器都需要 GTK 等 UI 库 闪亮的没有 我想做的就是弹出一个日期选择器 让用户选择日期 然后结束闪亮的会话并将日期传
  • 如何检测 Java 系统属性是否已更改?

    我想知道系统属性何时更改 我在应用程序服务器中有一个应用程序 它以某种方式更改系统属性 System setProperty 我认为 我看了看 发现了不同的方法 JPDA https stackoverflow com questions
  • Collections.sort 方法抛出类 java.lang.Integer 无法转换为类 java.lang.Double 错误[重复]

    这个问题在这里已经有答案了 我从基于空手道的 API 自动化中的 JSON 响应获取一些运行时值 我将它们存储到 ArrayList 中 例如 def ArrayList Java type java util ArrayList def
  • 具有动态数据库连接的flask-sqlalchemy

    我有一个主数据库 其中存储每个客户端自己的数据库连接 因此每个客户端都使用 2 个数据库 主数据库和自己的数据库 必须确定其连接 对于每个 http 调用 我怎样才能使用flask sqlalchemy扩展来做到这一点 或者可能是 纯粹是s
  • Dart 中的“const”和“final”关键字有什么区别?

    两者有什么区别const and finalDart 中的关键字 dart 的网站上有一篇文章 解释得很好 https news dartlang org 2012 06 const static final oh my html Fina
  • MySQL数据类型仅存储月份和年份[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在编写一个 PHP 应用程序来存储STUDENTMySQL 关系数据库中的数据 我正在尝试找到最好的方法 数据类型来存储月份和年份而不需要日
  • WKHTMLTOPDF 不渲染 Base64 图像

    我有以下简单的 HTML 页面 div img src data image gif base64 R0lGODlhFwAPAKEAAP wAAAMzMzLi3tywAAAAAFwAPAAACQIyPqQjtD98RIVpJ66g3hgEY
  • 分配给模型类中的属性的值在视图/控制器类中消失

    在我的模型类发送变量之前stringToDisplay NSLog 告诉我它有一个值 但是当我尝试在我的 ViewController 中使用它时 我只是得到 null 对我做错了什么有什么想法吗 好消息是 在研究这个问题的过程中 我在理解
  • 让 youtube.com 在 iF​​rame 中加载

    无法获取 Youtube 的主页或任何其他带有 youtube com 前缀的 URL 以加载到 iFrame 中 有什么建议或见解吗 Code YouTube 不允许嵌入 仅有的http www youtube com embed htt
  • 如何使用 WSGI 实现 Flask 应用程序按路径调度?

    我想使用单个域作为多个 Flask 应用程序的暂存环境 这些应用程序最终将在自己的域上运行 就像是 example staging com app1 example staging com app2 example staging com
  • 如何创建表格颤动?

    我有三个列表 我必须生成表格 这些来自用户输入的列表 px 0 1 0 2 0 3 x 0 1 2 这个第三个列表是第一个第二个列表的乘法 Mutiply 0 0 2 0 6 我想生成表格 列表的长度来自用户输入所以 我如何生成表 简单的方
  • Logback-android:日志未写入文件

    尝试使用 logback android 重定向日志消息 以便可以将消息保存在文件中 但是 它没有保存到文件中 这是我的 logback xml 文件配置 它存储在src 主要 资产在我的 Android Studio 中
  • java 的 == 行为不一致

    考虑这段代码 class test public static void main String args test inst test new test int i1 2000 int i2 2000 int i3 2 int i4 2
  • 我无法删除我的 VPC

    我想删除我的一个 VPC 但当我尝试删除时 出现此错误 我们无法删除以下 VPC vpc 8737bde2 10 100 0 0 16 Khoi VPC vpc vpc 8737bde2 具有依赖关系 无法删除 服务 AmazonEC2 状
  • 日期时间比较忽略种类?

    DateTime d1 new DateTime 2015 1 1 0 0 0 DateTimeKind Utc DateTime d2 new DateTime 2015 1 1 0 0 0 DateTimeKind Local Cons
  • SqlException 因为子查询返回超过 1 个值

    我有以下 LINQ 查询 用于构造一个结构以填充到 JavaScript 网格库中 这与本示例无关 但我想我仍然会解释这一点 var output myObjects Select p gt new RowModel ID p LeadUI