问题标签 [insight.database]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
579 浏览

oledb - 无法在 Insight.Database 中绑定参数

我正在尝试将参数绑定到存储库中的 SQL 查询,但出现错误

我得到一个 OleDb 异常。

SQL0313: 主机变量数无效。原因 。. . . . : 在 EXECUTE 或 OPEN 语句中指定的 SQLDA 或描述符区域中的主变量或条目的数量与在准备好的 SQL 语句 S000001 中指定的参数标记的数量不同。如果语句名称为 *N,则在 OPEN 语句中指定了 SQLDA 或描述符区域中的主变量或条目数,并且与游标 C000001 的 DECLARE CURSOR 语句中指定的主变量数不同。恢复 。. . : 将 USING 子句中指定的主变量数或 SQLDA 或描述符区域中的条目数更改为等于准备好的 SQL 语句中的参数标记数或 DECLARE CURSOR 语句中的主变量数。再次预编译程序。

我用过 ?'?'用于参数绑定,因为OleDb具有位置参数,由'@parameterName'.

任何帮助表示赞赏。

0 投票
1 回答
97 浏览

insight.database - 系统找不到指定的文件,Insight.Database micro orm

我在玩新的 Insight.Databse 微型 ORM 来弄脏我的手。当我尝试将对象插入数据库时​​,通过使用 ConnectionStringSettings 上的扩展方法,它会抛出上面的错误。我有表并存储根据文档在数据库中创建的程序。这是引发异常的部分(我在 repo 上调用 InsertCustomer)

公共类 CustomerRepository { public static async Task InsertCustomer(Customer cust) { var connection = ConfigSettings.ConnectionString; var repo = connection.As(); 返回等待 repo.InsertCustomer(cust); } }

公共接口 ICustomerRepository { 任务 InsertCustomer(Customer cust); }

任何帮助将不胜感激谢谢 RJ

0 投票
1 回答
546 浏览

micro-orm - 使用 Insight.Database 微 ORM 时未实现异常

我试图使用很酷的 Insight.Database 微 ORM 并在每次尝试调用 CustomerRepository 中的 InsertCustomer 方法时遇到未实现的异常。任何帮助将不胜感激

更新:我确保方法名称与 sql server 存储过程名称匹配

0 投票
1 回答
902 浏览

insight.database - 如何在 Insight.Database 中使用输出参数

我正在学习 Insight.Database 并希望将以下内容转换为使用存储库。

此版本有效:

这是我为存储库汇总的内容:

这是通过 Insight.Database 调用它的代码:

问题是有一个输出参数,我不确定应该如何连接。当我运行它时,它会出现空引用异常:

0 投票
1 回答
366 浏览

c# - Insight.Database 映射出现一个奇怪的问题

我对 C# 和 SQL Server 还很陌生,我正在尝试将一些查询结果映射到具有 3 层类层次结构的对象。我之前已经让它工作了,现在它实际上正在工作,但不是我想象的那样。在这里,有一些截图:

这有效:http: //i.stack.imgur.com/5Cjhe.png

这不起作用:http: //i.stack.imgur.com/LGZw1.png

从屏幕截图中不清楚的是问题映射得很好,而是没有分配答案。这是一个相当小的差异(正如我所说,它现在确实有效),但我想知道是否有办法让 Query.ReturnsSingle() 映射答案孩子。

0 投票
1 回答
683 浏览

c# - Insight.Database 自动接口和映射多对多

假设我有以下表格:

以及以下课程:

我将如何从这个存储过程映射结果

到自动接口实现?

我通过添加来玩弄 Recordset 属性

但是在调用 connection.As() 时会抛出 InvalidOperationException:“序列不包含匹配的元素。”

0 投票
1 回答
320 浏览

.net - 在 Insight.Database 中处理可空参数的正确/最佳方法是什么?

我已经使用Insight.Database大约一年来调用存储过程,但我只是遇到了这样一种情况,即存储过程有一个可默认为空的参数,而 Insight 没有按我的预期处理。

简而言之,参数定义为paramName nvarchar(10) = ''。调用此过程的代码是老式的 SqlCommand/SqlParam 代码,根本没有设置参数。我用 .net 对象替换它:

假设您创建了一个这种类型的对象,不要设置paramName并将其传递给 proc。我原以为 proc 会使用默认值。但是发生的事情是 Insight 向 proc 发送了一个 NULL 值,这与不发送任何内容不同,proc 看到指定的参数,因此不使用默认值,而这个特定的 proc 实际处理的 NULL 是不同于默认的方式,它破坏了应用程序。

我认为该错误存在于 proc 中,但我仍然需要一种方法来控制可为空的参数行为,以便我可以调用这种我无法修改的 procs。

0 投票
1 回答
952 浏览

sql-server - Insight.Database One to Many Mapping from a JOIN using Auto Interface

Insight.Database supports mapping One to Many results if the SQL has multiple SELECT statements, one for Parent and the for the children. See: https://github.com/jonwagner/Insight.Database/wiki/Specifying-Result-Structures

#xA;

Can the one-to-many mapping be done using a single join query? I believe this is supported in Petapoco. (I am using Auto Interface implementation but I would like to know if there is any way at all to accomplish it.) e.g.

#xA;

I have relatively complex query where I need to return parent and children as above. It works if I create multiple SELECT statments but my select statement look like below:

#xA;

I am worried that the query is as efficient as a single join.

0 投票
1 回答
308 浏览

insight.database - 支持曾孙 (Insight.Database)

使用 Insight.Database,我可以查询具有子对象及其孙子对象的对象:

var someObject = connection.Query("SomeStoredProc", new {ParentId = id}, Query.Returns(Some<Parent>.Records) .ThenChildren(Some<Child>.Records) .ThenChildren(Some<Grandchild>.Records, parents: parent=> parent.Children, into: (child, grandchildren) => child.Grandchildren = grandchildren));

我有一组表 Parent -> Child -> Grandchild -> Great-Grandchild

我尝试使用 RecordId、ParentId、ChildRecords 属性无济于事。此外,我所有的课程都用 [BindChildren(BindChildrenFor.All)] 装饰。

有没有办法让我的曾孙子孙满堂?谢谢!

0 投票
1 回答
261 浏览

sql - 使用 ODBC 调用 Insight.Database 过程失败

我通过 ODBC 提供程序在 C# 中使用 Insight.Database 连接到 iSeries DB2 数据库。db2 中有一个名为 InsertBeer 的存储过程。以下所有调用都很好用!:

太棒了,我真的在挖掘这个微 ORM。已经赢了一半的战斗,上面调用的啤酒对象节省了大量的手动参数绑定。但我不想在调用 InsertBeer 存储过程时输入 LHS 参数。我相信这是 Insight Execute() 方法旨在避免的管道工作类型。可悲的是,这些调用不起作用:

我也试过:

我得到的错误是:

{“错误 [42000] [IBM][System i Access ODBC 驱动程序][DB2 for i5/OS]SQL0104 - 令牌 INSERTBEER 无效。有效令牌:(CL END GET SET CALL DROP FREE HOLD LOCK OPEN WITH。”}

任何想法都非常感谢!