- 修复 Where(a => a.bool) 当使用了 MapType(int) 时出现 bug;

This commit is contained in:
2881099
2023-11-30 14:35:00 +08:00
parent 37dedfffa6
commit 02ffe93182
5 changed files with 40 additions and 296 deletions

View File

@ -16,6 +16,7 @@ namespace FreeSql.Tests.PostgreSQLExpression
{
ISelect<TableAllType> select => g.pgsql.Select<TableAllType>();
IFreeSql fsql => g.pgsql;
[Fact]
public void Div()
@ -32,11 +33,24 @@ namespace FreeSql.Tests.PostgreSQLExpression
var t8 = select.Where(a => a.testFieldDecimal / 3 > 3).Limit(10).ToList();
var t9 = select.Where(a => a.testFieldFloat / 3 > 3).Limit(10).ToList();
}
[Fact]
[Table(DisableSyncStructure = true)]
public class Student
{
public string Name { get; set; }
[Column(MapType = typeof(int))]
public bool IsDelete { get; set; }
}
[Fact]
public void Boolean()
{
var t1 = select.Where(a => a.testFieldBool == true).Limit(10).ToList();
var mapintSql01 = fsql.Select<Student>().Where(d => d.IsDelete).ToSql("1");
var mapintSql02 = fsql.Select<Student>().Where(d => d.IsDelete == true).ToSql("1");
Assert.Equal(mapintSql02, mapintSql01);
Assert.Equal(@"SELECT 1
FROM ""student"" a
WHERE (a.""isdelete"" = 1)", mapintSql01);
var t1 = select.Where(a => a.testFieldBool == true).Limit(10).ToList();
var t2 = select.Where(a => a.testFieldBool != true).Limit(10).ToList();
var t3 = select.Where(a => a.testFieldBool == false).Limit(10).ToList();
var t4 = select.Where(a => !a.testFieldBool).Limit(10).ToList();