实体框架核心 PostgreSQL hstore 查询



我需要生成查询 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

Npgsql EFCore 提供程序当前不对 hstore 类型进行任何转换。这主要是因为PostgreSQL jsonb类型已经存在扩展支持(包括你想要做的事情(,并且该类型比hstore强大得多。考虑从 hstore 切换到 jsonb。

这是 hstore 的问题跟踪查询转换。

最新更新