首页 新闻 会员 周边 捐助

[求助]数据表中的一个json字符串字段如何查询中使用范围查询

0
悬赏园豆:50 [待解决问题]

数据表中有一个字段存储了一个json对象,
现在需求是范围查询json对象中的得分key,
需要使用ef实现,求大佬给予下解决方案或思路

SUBUG的主页 SUBUG | 初学一级 | 园豆:154
提问于:2022-08-15 17:58
< >
分享
所有回答(7)
0
楠木大叔 | 园豆:2083 (老鸟四级) | 2022-08-15 21:40
0

[SOLVED]-QUERY POSTGRES JSON FIELD USING EF CORE 5-ENTITYFRAMEWORK CORE
https://www.appsloveworld.com/entity-framework-core/100/11/query-postgres-json-field-using-ef-core-5
看起来像是答案,使用 bing.com 搜索 【ef json field query】

快乐的欧阳天美1114 | 园豆:4010 (老鸟四级) | 2022-08-15 22:31
0

修改表结构,增加一列或一个子表放专门放key

会长 | 园豆:12463 (专家六级) | 2022-08-16 09:14

主要是不好修改表结构了 是个陈年老表 存个各种杂七杂八的东西

支持(0) 反对(0) SUBUG | 园豆:154 (初学一级) | 2022-08-16 17:14

@SUBUG: 我想不出来有啥好办法,json里内容比较多,没法给key建索引吧,只能是一条一条读了

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2022-08-16 17:17

@会长: 对 现在就是这个问题 如果说遍历的话 现在只有几万条记录 性能非常差

支持(0) 反对(0) SUBUG | 园豆:154 (初学一级) | 2022-08-16 17:18

@SUBUG: 建议改表结构吧,一劳永逸

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2022-08-17 08:33
1

暂时取消这个需求,没有较好的解决方案

SUBUG | 园豆:154 (初学一级) | 2022-08-17 10:02
0

把数据库中符合要求的表信息全部拿出来,然后使用Linq中的Select方法把需要的Json全部拿出来放到List<string>集合中,然后根据Json的信息内容建立对应的Dto实体类,把List<string>集合中的Json转换到实体类中然后再使用Linq进行筛选得分key

大脚我是 | 园豆:202 (菜鸟二级) | 2022-08-19 09:19

你说的这种方法 数据量小可以用 但是数据量大的时候就是个问题了

支持(0) 反对(0) SUBUG | 园豆:154 (初学一级) | 2022-08-20 09:23
0

SQL Server是支持JSON的,但需要你用SQL来操作,EF本身也支持直接用SQL的

56180825 | 园豆:1749 (小虾三级) | 2022-08-19 20:35
0

可以参考下这个 Json 的案例:
使用 PostgreSQL 分析 NGINX 访问日志

postgre | 园豆:211 (菜鸟二级) | 2023-07-03 09:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册