我正在尝试使用以下SQL语法用所谓的行值查询PostgreSQL:WHERE (field1, field1) < (value1, value2)
(与WHERE field1 < value1 AND field2 < value2
不同),并且想知道EF Core的Npgsql提供程序是否会产生这样的查询无论如何(在online doc中都找不到)
谢谢。
编辑
为澄清我的意图,我想按照this page的幻灯片22(完整视频here)中的说明进行键集分页。基本上,这个想法是,例如,如果您对由f
降序排列的查询进行分页,则实际上将执行ORDER BY f desc, id desc
;然后为了获取下一页,请添加WHERE (f, id) < (prev_f, prev_id)
。
答案 0 :(得分:2)
Npgsql EF Core提供程序尚不支持复合类型:this issue tracks that。
但是无论如何,正如@ ivan-stoev所写,C#不支持以您描述的方式比较元组。您能确切说明您要寻找的内容吗? (f1,f2) < (v1,v2)
到底是什么意思?