insight.database - 出现错误“Insight.Database.FastExpando”不包含“Set1”的定义
问题描述
以下代码给出了上述错误,我不知道为什么:
var x = _sqlConn.Connection().QueryResults<Results>("MyDb.dbo.get_records", new { id = theId });
int retVal = x.Outputs.Return_Value;
if (retVal == 0) // ...meaning result set was also returned...fine to this point.
{
var list = x.Outputs.Set1; // exception thrown here with above error
var temp = list.FirstOrDefault();
多年来,我一直在使用 Insight.Database 的其他功能,但不必在检索记录集的同时检索 SQL RETURN 值。SQL 本身在 SSMS 中正常工作,返回结果集和 RETURN 值 0,正如预期的那样。这发生在 VS2019、.NET 4 和 .NET 4.5.2 中;Insight.Database 5.2.7 和 5.2.8。
我从以下页面获得了此代码: https ://github.com/jonwagner/Insight.Database/wiki/Specifying-Result-Structures 其中显示了这一点:
var results = connection.QueryResults<Beer, Glass>("GetAllBeersAndAllGlasses");
IList<Beer> beers = results.Set1;
我从这里结合了以下代码: https ://github.com/jonwagner/Insight.Database/wiki/Output-Parameters
var results = connection.QueryResults<Results>("MyProc", inputParameters);
var p = results.Outputs.p;
那部分有效。它正在访问失败的 .Set1,我不知道如何找出原因。我没有使用 FastExpando 课程的经验,但 Jon 承诺了魔法,我愿意相信。谢谢你的帮助。
解决方案
好久没试过结果+动态对象了……</p>
我认为这是因为你在做:
QueryResults<Results>
结果是 Insight 类型
你可能想要:
QueryResults<MyType>
然后你得到一个Results<MyType>
包含返回值和 Set1 的
如果没有,请在 github 上张贴一张票,我们会帮助您。
推荐阅读
- javascript - 反应 JSON 不返回对象数据
- python - 在行和列中创建列值的数据透视表,并仅计算关系之间的公共值
- node.js - Mongoose/Typegoose 错误:转换为 ObjectId 的值失败
- google-cloud-platform - 使用 psql 客户端连接到 Postgres SQL 实例(私有 IP)
- html - Flex-Grow 根据标记导致不同的宽度
- php - 如何在 React 中使用窗口的 beforeunload 事件执行 axios 代码
- python - TypeError:'dict'对象不可调用-尝试将其他属性添加到python列表时
- concept - 可用计算资源的分配
- sql - 如何显示同一区域和具有相同特征的排队人数
- html - HTML 和 CSS 块 - 悬停时更改整个块的颜色