首页 > 解决方案 > 使用 EF Core 和 Npgsql 查询行(复合)值

问题描述

我正在尝试使用以下 SQL 语法使用所谓的行值查询 PostgreSQL:(WHERE (field1, field1) < (value1, value2)与 不同WHERE field1 < value1 AND field2 < value2)并且想知道 EF Core 的 Npgsql 提供程序是否会以任何方式产生这样的查询(在在线文档

提前致谢。

编辑

为了阐明我的意图,我想按照本页幻灯片 22 中的描述实现键集分页此处为完整视频)。基本上,这个想法是,如果你对一个按f降序排序的查询进行分页,你实际上会做一个ORDER BY f desc, id desc; 然后为了获取下一页,您添加WHERE (f, id) < (prev_f, prev_id).

标签: postgresqlnpgsqlef-core-2.0

解决方案


Npgsql EF Core 提供程序尚不支持复合类型:此问题跟踪.

但无论如何,正如@ivan-stoev 所写,C# 不支持以您描述的方式比较元组。你能解释一下你在找什么吗?究竟是什么(f1,f2) < (v1,v2)意思?


推荐阅读