[Entity Framework Core PostgreSQL hstore查询

问题描述 投票:0回答:1

我需要在hstore列中生成值查询

var collection = await _context.Settings
.Select(b => new
{
    SettingId = b.SettingId,
    SettingParentId = b.SettingParentId,
    SettingValue = (b.SettingValue.ContainsKey('key') ? b.SettingValue['key'] : "")
})
.OrderBy(x => x.SettingId)

但是不是最好的方法,是否存在任何实现此查询的方法以转换为该sql?

SELECT setting_id, 
       setting_parent_id,
       setting_value -> 'key' AS setting_value
FROM settings
postgresql npgsql hstore ef-core-3.1
1个回答
1
投票
Npgsql EFCore提供程序当前不对hstore类型进行任何转换。这主要是因为已经存在扩展支持for the PostgreSQL jsonb type(包括您要执行的操作),并且该类型比hstore强大得多。考虑从hstore切换到jsonb。

[This is the issue hstore的跟踪查询翻译。

© www.soinside.com 2019 - 2024. All rights reserved.