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 个值 的相关文章

随机推荐

  • 如何使用 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