- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 catch
block 中抛出了一个 The SqlParameter is already contained by another SqlParameterCollection 异常。
我觉得奇怪的是我们没有在任何地方创建 SqlParameterCollection
。每次我们创建一个新实例时,SqlParameter
都不会被使用超过一次。另一个奇怪的是 test
包含存储过程的正确结果并将结果返回给调用方法,但是当我从 3
行再一步到 4
是它决定进入 catch block 的时候。不在 33
我希望它发生的地方...如果它有帮助,我们使用 CodeFirst 从 ObjectContext
切换到 DbContext
生成工具。使用的所有其他数据库交互和存储过程都按预期工作。
1 try
2 {
3 tempMessages = Context.CheckExistingTables(importSession.ImportSessionID).ToList();
4 }
5 catch (Exception e)
6 {
7 this.LogError("Error validating the import file entities", e);
8 tempMessages.Add(new ErrorMessage() { ErrorType = 3, Message = string.Format("Error validating the import file entities: {0}", e.Message) });
9 }
...
20 public IEnumerable<ErrorMessage> CheckExistingTables(Guid? importSessionID)
21 {
22 SqlParameter importSessionIDParameter;
23
24 if (importSessionID.HasValue)
25 {
26 importSessionIDParameter = new SqlParameter("importSessionID", importSessionID);
27 }
28 else
29 {
30 importSessionIDParameter = new SqlParameter("importSessionID", typeof(System.Guid));
31 }
32
33 var test = Database.SqlQuery<ErrorMessage>("Import.CheckExistingTables @importSessionID", importSessionIDParameter);
34 return test;
35 }
最佳答案
所以不知何故,答案是在 33
行的末尾调用 .ToList()
。
注意其他人...将 using
声明 using System.Linq;
添加到文件顶部,否则您将没有 ToList( )
选项。
关于c# - 不使用 SqlParameterCollection 时,SqlParameter 已包含在另一个 SqlParameterCollection 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17224577/
我在 catch block 中抛出了一个 The SqlParameter is already contained by another SqlParameterCollection 异常。 我觉
我想确切地知道我们是如何在 C# .NET 4.0 表单应用程序上做这些事情的: 声明 SqlCeParameterCollection 对象 向集合添加参数 将集合添加到命令中 以下是我当前代码的示
我正在尝试创建一个 SqlParameterCollection,但在 sp.Add() 方法中添加一些 SqlParameter 时出错。 请帮助我如何添加参数以及如何将它传递给我的另一个函数,我在
我需要访问父类的 ApplicationID 属性才能运行 Nhibernate 查询。在 NUnit 中为此查询运行测试会导致它失败,如下所示:“BusinessObjects.Integratio
我想为我的存储过程提供一个输出参数。此输出过程返回 byte[]。我该怎么做呢? 如果我执行以下操作: command.Parameters.Add(new SqlParameter("@Bytes"
有一种方法可以检查 SqlParameterCollection 中的 ReturnValue 参数,如果存在则检查该值是否违反约束。 public static void VerifyU
我正在尝试模拟数据库操作。我在模拟 SqlParameterCollection 时遇到问题。我尝试创建将返回 DbParameterCollection 的 virtual 方法,但随后我失去了 S
在我的一个项目中我遇到了这个错误: System.IndexOutOfRangeException: SqlParameterCollection does not contain SqlParame
我有以下代码。 // Get total row count and build Pagination object var countQuery = ArticleServerContext.Dat
这个异常(exception): 此 SqlParameterCollection 的索引 n 无效,Count= 通常指向重复的映射信息(参见 Stack Overflow + Google)。我很
我在Windows服务中使用2个线程(来自同一类)。我总是收到相同的错误消息: "The SqlParameter is already contained by another SqlParamet
我目前有一个连接类来处理我所有的数据库连接。我想要做的是在一页上构建一个 SqlParameterCollection 对象,然后将该对象传递给我的连接类。是否有可能做到这一点?我没有收到任何编译错误
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
为了解决这个问题,我绞尽脑汁好几个小时了,希望有人能帮我解决这个问题。 我在 C# 应用程序中插入数据库。作为一名优秀的编码员,我正在参数化我的查询。 相关代码为: int contactId = -
当使用如下所示的 using() {} (sic) block 时,并假设 cmd1 没有超出第一个 using 的范围() {} block ,为什么第二个 block 要抛出消息异常 The Sq
我有一个这样的测试数据库设计: 以下是伪代码: //BhillHeader public class BillHeader { public BillHeader() {
NHibernate 抛出异常:“此 SqlParameterCollection 的索引 n 无效,Count=n。”当我尝试保存 Meter 对象时。问题出在 CurrentReading 属性上
我创建了一个方法,它将抛出的任何异常插入到 MySql 服务器上“ExceptionLog”的表中。 异常日志表格式 idExceptionLog int (AI)用户(varchar 45)错误消息
我有以下代码: SqlParameter invidParam = new SqlParameter("@invid",obj.INVID); SqlParameter prodParam = new
private void txtName_KeyDown(object sender, KeyEventArgs e) { SqlDataAdapter DA = new SqlDataAda
我是一名优秀的程序员,十分优秀!