💢 特别说明:如果 Issue 没有严格按照模板编写且未提供测试源码下载或 Git 测试仓库地址,则视为无效
Issue
。
2.19.1
粘土对象多了一层嵌套
测试:
//用匿名对象执行正常
var dataTable = await "SELECT * FROM myTable WHERE id=@id".SqlQueryAsync(new {id = 1});
//用粘土对象执行提示“Parameter count mismatch.”
dynamic model = Clay.Object(new {id = 1});
var dataTable = await "SELECT * FROM myTable WHERE id=@id".SqlQueryAsync(model.Solidify());
无异常
⚠⚠ 必须提供完整可运行且包含错误的
Git
仓库 DEMO,DEMO 提供最简单的错误逻辑代码,否则不予处理。⚠⚠
您的代码下载地址?
https://gitee.com/dotnetchina/Furion
请问用什么方法能将粘土对象转换成常规的匿名对象?(对调粘土对象外面多包裹的一层)
如果您喜欢或正使用 Furion,Furion 也能帮助到您,可以考虑给 Furion 一个 Star。✨
我现在的解决办法:
dynamic model = Clay.Object(new {id = 1});
var obj = JSON.Deserialize<Dictionary<string, object>>(model.Solidify().ToString());
var dataTable = await "SELECT * FROM myTable WHERE id=@id".SqlQueryAsync(obj);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
dynamic model = Clay.Object(new {id = 1});
var dataTable = await "SELECT * FROM myTable WHERE id=@id".SqlQueryAsync((object)model);
即可。
直接使用粘土对象提示错误:
The CLR type System.Xml.Linq.XElement isn't natively supported by Npgsql or your PostgreSQL. To use it with a PostgreSQL composite you need to specify DataTypeName or to map it, please refer to the documentation.
这个问题直到现在才重现出现,已经修正,下个版本发布。
🎉 修复 Sql 命令参数传入 Clay 类型异常问题 close #I4D21Q:粘土对象多了一层嵌套
-----来自 commit 24294d0
登录 后才可以发表评论