我正在尝试从 Microsoft SQL Server 中获取 JSON,为了与我的 ASP.NET Core 后端通信,我似乎只能使用 NVARCHAR
允许的最大大小最多 8,000 个字符。但我需要抓取一个包含数万个字符的 JSON 列表。
var @params = new SqlParameter[] {
new SqlParameter("@returnVal", System.Data.SqlDbType.NVarChar, 8000) { Direction = System.Data.ParameterDirection.Output },
new SqlParameter("@ID", libraryID)
};
await this.Database.ExecuteSqlCommandAsync("SET @returnVal = (SELECT * FROM Rates WHERE LibraryID=@ID FOR JSON AUTO)", @params);
return @params[0].Value as string;
我预计上述代码的输出为 8,000 个字符,因为这似乎是 SQL 限制。有没有办法取回所有数据?
我的目标是尝试从数据库中以 JSON 形式下载大量数据,而不必将其映射到 POCO,然后使用第三方 JSON 库对其进行序列化。
谢谢!
最佳答案
如果可能,请更改字段类型和/或使用正确的 ADO.NET 参数类型来绑定(bind)数据。
传统上我会使用 TEXT 类型,但现在已弃用,因此您可以使用:
NVARCHAR(MAX)
关于c# - 有没有办法从 SQL Server 获取大量 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57223330/