使用entityframework核心检索json

2023-12-10

我有返回 json 的存储过程,感谢对于 json 路径.

您如何通过实体框架核心使用它们?

以下不起作用:

var foo = _db.Set<JObject>()
             .FromSql("dbo.Mine @customerid = {0}", _user.guid)
             .FirstOrDefault();

因为 JObject 类型不是模型的一部分:

InvalidOperationException: Cannot create a DbSet for 'JObject' because this type is not included in the model for the context.

但是我们应该如何使用实体框架核心来做到这一点呢?


在谷歌上搜索了一段时间后,我明白还不支持。如果您在上下文中没有模型,则无法使用实体框架检索数据,请点:https://learn.microsoft.com/en-us/ef/core/querying/raw-sql and https://github.com/aspnet/EntityFrameworkCore/issues/1862

我决定用老方法来做:

  var jsonResult = new System.Text.StringBuilder();
  /*"using" would be bad, we should leave the connection open*/
  var connection = _db.Database.GetDbConnection() as SqlConnection;
  {
    await connection.OpenAsync();

    using (SqlCommand cmd = new SqlCommand(
        "Mine",
        connection))
    {
      cmd.CommandType = CommandType.StoredProcedure;

      cmd.Parameters.Add("@customerid", SqlDbType.NVarChar).Value = _user.guid;

      using (SqlDataReader reader = await cmd.ExecuteReaderAsync())
      {
        if (!reader.HasRows)
        {
          jsonResult.Append("[]");
        }
        else
        {
          while (reader.Read())
          {
            jsonResult.Append(reader.GetValue(0).ToString());
          }
        }
      }
    }
  }
  var raw = JArray.Parse(jsonResult.ToString());

  var ret = raw.ToObject<List<SiteData>>();

我怀疑是否最好显式关闭连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用entityframework核心检索json 的相关文章

  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 如何反序列化键名.Net中包含点(.)的Json字符串[重复]

    这个问题在这里已经有答案了 odata metadata sometext odata nextLink sometext value odata type SP Data RegionsListItem odata id 07404daa
  • Oracle 中的 Json_object 返回 ORA-00907: 缺少右括号

    我正在尝试将 Oracle 表数据转换为 JSON 文件 我有三个数据库 下面的代码在一个数据库中以 JSON 文件形式提供输出 但其他两个数据库抛出ORA 00907 missing right parenthesis error 从语法
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • Groovy - JsonSlurper 解析 JSON 文件

    我有一个类似于下面的 JSON 文档 我正在尝试在 Groovy 中解析它 基本上对于每所学校 学校信息 我想抓住SCHOOL COUNTRY和其他领域 我正在尝试下面的代码 但它没有返回我需要的内容 对于列出的每所学校 1 000 所 我
  • Haskell Data.Decimal 作为 Aeson 类型

    是否可以解析一个数据 十进制 https hackage haskell org package Decimal 0 4 2 docs Data Decimal html使用 Aeson 包从 JSON 获取 假设我有以下 JSON foo
  • Microsoft SQL:CASE WHEN 与 ISNULL/NULLIF

    除了可读性之外 在防止 SQL 中的除以 0 错误时 使用 CASE WHEN 语句与 ISNULL NULLIF 相比还有什么显着的好处吗 CASE WHEN BeginningQuantity BAdjustedQuantity 0 T
  • json_encode 返回 NULL?

    由于某种原因 项目 描述 返回NULL使用以下代码 这是我的数据库的架构 CREATE TABLE staff id int 11 NOT NULL AUTO INCREMENT name longtext COLL
  • 如何在 SQL Server 中不循环更新列?

    出于性能角度的考虑 我只需要删除循环并使用一些联接或其他解决方案来更新 Result 表中的数据并获得循环返回的相同结果 标量函数 CREATE FUNCTION MultiplyerScl a INT b INT RETURNS INT
  • 将 SQL Server 2008 DB 迁移到 Postgres [重复]

    这个问题在这里已经有答案了 我想将 SQL Server 2008 数据库迁移到 Postgres 有没有一种无痛的方法来做到这一点 是否有任何工具可以扫描架构和存储过程以标记兼容性问题 无痛http dbconvert com conve
  • 需要在 SQL Server 中透视字符串值

    我有一个包含值的表 描述为 Occupation String Name String Developer A Developer B Designer X Coder Y Coder Z 我需要数据透视格式的值 Designer Deve
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item
  • SQL Server 实例名称的最大长度?

    我需要知道以下版本的 SQL Server 实例名称的最大字符长度 如果它们之间存在差异 SQL Server 2000 SQL Server 2005 SQL Server 2008 SQL Server 2008 R2 我正在开发一个应
  • 如何在 Swift 3 中解析 JSON 数组 [重复]

    这个问题在这里已经有答案了 我从 Socket 获取了一些我想访问的数据 但收到错误消息 指出每次都无法将 NSArray 转换为 NSDictionary struct SocketEventHandler let event Strin
  • 当附加触发器时,Linq-to-sql 插入和更新失败

    我最近在 linq to sql 方面遇到了一些问题 问题在于 当我们将触发器附加到事件时 它 认为 插入和更新失败 一个例子可以是一行 当一行被更改时 附加一个触发器将 LastUpdated 冒号设置为当前时间 这将导致 linq to
  • 如何向 SQL 连接字符串添加自定义属性?

    我想在 SqlServer 连接字符串中添加一些自定义属性 如下所示 Integrated Security SSPI Extended Properties SomeAttr SomeValue Persist Security Info
  • CodeIgniter 控制器 - JSON - AJAX

    我正在尝试通过 AJAX 使用 CodeIgniter 发送表单构建 并尝试使用 JSON 获取响应 但是 我只在打开开发人员选项卡时看到响应 我什至不确定这是否实际上是响应 因为它显示了两个 json 数据 它所显示的只是加载旋转器 然后
  • SQL-Server:备份集保存现有数据库以外的数据库的备份

    我正在尝试恢复数据库的 SQL Server 备份文件 但它抛出如下错误 备份集保存除现有数据库之外的数据库的备份 我的数据库是SQL Server 2008 备份文件是2005年的 可能是什么问题 我也遇到过这个问题 解决方案 不要创建空
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join
  • 如何使用 SQL 查询创建逗号分隔的列表?

    我有 3 个表 名为 应用程序 ID 名称 资源 id 名称 应用程序资源 id app id resource id 我想在 GUI 上显示所有资源名称的表格 在每一行的一个单元格中 我想列出该资源的所有应用程序 以逗号分隔 所以问题是

随机推荐

  • R - 将向量中的每个元素与其他向量中的每个元素求和

    我有两个向量 我想要一个新向量 其元素是向量 1 的元素与向量 2 的元素之和 v1 lt c 1 2 3 4 5 6 v2 lt c 0 1 1 2 2 1 for i in 1 length v1 for j in 1 length v
  • 使用反射获取方法的调用层次结构

    我使用 java 反射从类中获取方法 加载这些类 现在我想获取这些方法的调用层次结构 我如何在 Eclipse IDE 中使用调用层次结构选项 有任何示例或链接吗 提出的解决方案是使用Thread currentThread getStac
  • Scala 构造函数重载?

    如何在 Scala 中提供重载构造函数 值得明确提及的是 Scala 中的辅助构造函数必须调用主构造函数 如 landon9720 中的 答案 或者调用同一类中的另一个辅助构造函数 作为其第一个操作 它们不能像在 Java 中那样简单地显式
  • 如何为通用Windows平台(UWP)应用程序创建.appx包?

    我已经为我的通用 Windows 平台应用程序创建了包 但是我无法找到为我的包生成 appx 文件的位置 它已生成 appxbundle 文件和所有其他文件 但未生成 appx 文件 An appx只是一个 zip64 文件 以及 appx
  • 如何使用 preg_match 检查全文

    您好 我对 preg match 函数有疑问 我想根据模式检查整个文本 如果整个文本与模式匹配 则返回 true 如果与模式不匹配或部分匹配 则返回 false 但我无法使用 php preg match 函数执行此操作 例如 我使用下面的
  • 更改

    我刚刚学习 JQUERY 我一直在玩delay 我写了一个小提琴来向你展示 我想做的是当单击按钮时 更改 div 的背景颜色 然后在过一会儿再次切换背景颜色 但是当我尝试时 它只是切换到第二种颜色并跳过第一种颜色 HTML div clas
  • 在列表中找到所有可能的对的最快方法是什么?

    基本上我有球员名单 我想将他们配对 以便每个球员都会与所有人比赛一次 找到这些数据的最快方法是什么 假设球员没有出现在名单中两次 则双倍for循环非常快 for int i 0 i lt playerList Count 2 i for i
  • 需要帮助在 Java 中将数字转换为单词

    我正在开发一个将数字转换为单词的程序 但我在使用 Numbers 类中的 toString 方法时遇到问题 所有的方法都给了我 我可以实现 因此 我无法删除其中任何一个 编号 4564 gt 四千五百六十四 这是代码 数字类 package
  • codeigniter 本地主机电子邮件未发送

    我有一些问题 我不明白 这是我的代码 this gt load gt library email config protocol sendmail config mailpath usr sbin sendmail config chars
  • 我可以在 .gitconfig 中为自己指定多个用户吗?

    In my gitconfig 我在下面列出了我的个人电子邮件地址 user 因为这就是我想用于 Github 存储库的内容 但是 我最近也开始使用 git 来工作 我公司的 git 存储库允许我提交 但是当它发出新变更集的公告时 它说它们
  • 将 MySQL 表 varchar 字段更改为十进制字段

    我有一个 MySQL 表 其中有几列 例如 id text 1 val 1 text 2 text 3 val 2 1 bla 1 23 blub 5 67 12 34 不幸的是所有字段都定义为varchar 现在我尝试更改表以将某些字段设
  • AFnetworking 多部分请求主体为零

    我正在尝试通过 af 2 0 多部分请求将图片上传到服务器 但似乎正文始终为空 这是代码的快照 self POST path parameters params constructingBodyWithBlock id
  • SwiftUI:按下按钮时的操作

    我正在尝试实现一个长按按钮 仅当我按下按钮时才会更改我使用的 SF 符号 我不太确定应该在哪里使用这些图像 问题是 当我停止按下时 按钮就会被触发 有没有办法不激活它 按下时除外 我正在寻找的是一个按钮 When pressed持续 2 秒
  • 当放入 XCode 中的不同编译单元时,静态 unordered_map 会被擦除

    我的类 C 中有一个静态 unordered map 如果我将类定义和声明放在与包含函数 main 的文件不同的文件中 我会遇到行为差异 问题是 我观察到 如果类 C 与函数 main 位于同一编译单元中 则一切都很好 我只看到一次文本 创
  • 赛普拉斯灯具最佳实践

    在 Cypress 文档中 他们建议以这种方式使用固定装置 cy fixture logo png then logo gt load data from logo png 但我发现它很混乱 并且有限制 因为我无法在运行测试之外获取此信息
  • Airflow apply_defaults 装饰器报告 参数是必需的

    我最近遇到了这个令人讨厌的错误 其中 Airflowapply defaults 装饰者正在抛出以下堆栈跟踪 my kwargs确实包含job flow id File
  • sqlite3 数据库被锁定

    我正在使用 sqlite 创建一个应用程序 我正在数据库上执行各种任务Insert Update Delete Select 为此 我每次打开数据库 然后使用执行我的查询sqlite3 step 结果之后我用sqlite3 finalize
  • Spring Boot在应用程序属性中使用占位符

    我编写了一个简单的 spring boot 应用程序 版本 springboot 2 0 它使用 mysql 版本 5 7 应用程序属性 snippet spring datasource url jdbc mysql localhost
  • 如何为特定模式设置颜色?

    我正在尝试 Emacs 我想为 Eshell 设置颜色 我首先尝试使用设置前景色 但它也会影响我的其他模式 add hook eshell mode hook lambda default t foreground BD8700 但这也行不
  • 使用entityframework核心检索json

    我有返回 json 的存储过程 感谢对于 json 路径 您如何通过实体框架核心使用它们 以下不起作用 var foo db Set