- 增加 ISelect.OrderByRandom() 随机排序适配;

This commit is contained in:
2881099
2020-12-24 01:11:28 +08:00
parent ad4fa26818
commit cd6fd2708e
19 changed files with 226 additions and 0 deletions

View File

@ -818,6 +818,16 @@ namespace FreeSql.Tests.Odbc.Dameng
{
var sql = select.Offset(10).OrderBy(a => new Random().NextDouble()).ToList();
}
[Fact]
public void OrderByRandom()
{
var t1 = select.OrderByRandom().Limit(10).ToSql("1");
Assert.Equal(@"SELECT t.* FROM (SELECT 1
FROM ""TB_TOPIC22"" a
ORDER BY dbms_random.value) t WHERE ROWNUM < 11", t1);
var t2 = select.OrderByRandom().Limit(10).ToList();
}
[Fact]
public void Skip_Offset()
{

View File

@ -783,6 +783,17 @@ namespace FreeSql.Tests.Odbc.KingbaseES
{
var sql = select.Offset(10).OrderBy(a => new Random().NextDouble()).ToList();
}
[Fact]
public void OrderByRandom()
{
var t1 = select.OrderByRandom().Limit(10).ToSql("1");
Assert.Equal(@"SELECT 1
FROM ""TB_TOPIC22"" a
ORDER BY random()
limit 10", t1);
var t2 = select.OrderByRandom().Limit(10).ToList();
}
[Fact]
public void Skip_Offset()
{

View File

@ -903,6 +903,17 @@ namespace FreeSql.Tests.Odbc.MySql
{
var sql = select.OrderBy(a => new Random().NextDouble()).ToList();
}
[Fact]
public void OrderByRandom()
{
var t1 = select.OrderByRandom().Limit(10).ToSql("1");
Assert.Equal(@"SELECT 1
FROM `tb_topic` a
ORDER BY rand()
limit 0,10", t1);
var t2 = select.OrderByRandom().Limit(10).ToList();
}
[Fact]
public void Skip_Offset()
{

View File

@ -819,6 +819,16 @@ namespace FreeSql.Tests.Odbc.Oracle
{
var sql = select.Offset(10).OrderBy(a => new Random().NextDouble()).ToList();
}
[Fact]
public void OrderByRandom()
{
var t1 = select.OrderByRandom().Limit(10).ToSql("1");
Assert.Equal(@"SELECT t.* FROM (SELECT 1
FROM ""TB_TOPIC22"" a
ORDER BY dbms_random.value) t WHERE ROWNUM < 11", t1);
var t2 = select.OrderByRandom().Limit(10).ToList();
}
[Fact]
public void Skip_Offset()
{

View File

@ -879,6 +879,17 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
{
var sql = select.OrderBy(a => new Random().NextDouble()).ToList();
}
[Fact]
public void OrderByRandom()
{
var t1 = select.OrderByRandom().Limit(10).ToSql("1");
Assert.Equal(@"SELECT 1
FROM ""tb_topic"" a
ORDER BY random()
limit 10", t1);
var t2 = select.OrderByRandom().Limit(10).ToList();
}
[Fact]
public void Skip_Offset()
{

View File

@ -774,6 +774,16 @@ namespace FreeSql.Tests.Odbc.SqlServer
{
var sql = select.OrderBy(a => new Random().NextDouble()).ToList();
}
[Fact]
public void OrderByRandom()
{
var t1 = select.OrderByRandom().Limit(10).ToSql("1");
Assert.Equal(@"SELECT TOP 10 1
FROM [tb_topic22] a
ORDER BY newid()", t1);
var t2 = select.OrderByRandom().Limit(10).ToList();
}
[Fact]
public void Skip_Offset()
{