- 修复 1.8.0-preview WhereDynamic IN 机制;#431

This commit is contained in:
28810
2020-08-24 10:12:23 +08:00
parent bb089438e2
commit d266446062
4 changed files with 4591 additions and 4476 deletions

View File

@ -51,18 +51,26 @@ namespace base_entity
public CollationTypeEnum val { get; set; } = CollationTypeEnum.Binary;
}
class Sys_reg_user
{
public Guid Id { get; set; }
public Guid OwnerId { get; set; }
public string UnionId { get; set; }
[Navigate(nameof(OwnerId))]
public Sys_owner Owner { get; set; }
}
class Sys_owner
{
public Guid Id { get; set; }
public Guid RegUserId { get; set; }
[Navigate(nameof(RegUserId))]
public Sys_reg_user RegUser { get; set; }
}
static void Main(string[] args)
{
// var result2 = Newtonsoft.Json.JsonConvert.DeserializeObject<TestEnumCls>(@"
//{
// ""val"": ""Binary""
//}");
// var result1 = System.Text.Json.JsonSerializer.Deserialize<TestEnumCls>(@"
//{
// ""val"": ""Binary""
//}");
#region IFreeSql
var fsql = new FreeSql.FreeSqlBuilder()
.UseAutoSyncStructure(true)
@ -99,6 +107,15 @@ namespace base_entity
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
#endregion
var tsql1 = fsql.Select<Sys_reg_user>()
.Include(a => a.Owner)
.Where(a => a.UnionId == "xxx")
.ToSql();
var tsql2 = fsql.Select<Sys_owner>()
.Where(a => a.RegUser.UnionId == "xxx2")
.ToSql();
var names = (fsql.Select<object>() as Select0Provider)._commonUtils.SplitTableName("`Backups.ProductStockBak`");
@ -124,19 +141,22 @@ namespace base_entity
var wdy1 = JsonConvert.DeserializeObject<DynamicFilterInfo>(@"
{
""Logic"" : ""Or"",
""Logic"" : ""And"",
""Filters"" :
[
{
""Field"" : ""title"",
""Operator"" : ""eq"",
""Value"" : ""product-1"",
""Logic"" : ""Or"",
""Filters"" :
[
{
""Field"" : ""title"",
""Operator"" : ""contains"",
""Value"" : ""product-1111"",
},
{
""Field"" : ""title"",
""Operator"" : ""contains"",
""Value"" : ""product-2222"",
}
]
},
@ -212,8 +232,10 @@ namespace base_entity
]
}
", config);
Products.Select.WhereDynamicFilter(wdy1).ToList();
Products.Select.WhereDynamicFilter(wdy2).ToList();
var items1 = Products.Select.Limit(10).OrderByDescending(a => a.CreateTime).ToList();
var items2 = fsql.Select<Products>().Limit(10).OrderByDescending(a => a.CreateTime).ToList();