Update exp to sql

This commit is contained in:
sunkaixuan 2023-12-21 00:00:39 +08:00
parent d4f46f24a6
commit e39fcf0ab0
2 changed files with 44 additions and 9 deletions

View File

@ -1,5 +1,6 @@
using Demo; using Demo;
using SqlSeverTest.UserTestCases; using SqlSeverTest.UserTestCases;
using SqlSeverTest.UserTestCases.UnitTest;
using SqlSugar; using SqlSugar;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -32,6 +33,7 @@ namespace OrmTest
} }
public static void Init() public static void Init()
{ {
UnitOneToManyNsdfafa.Init();
UnitTreaaafasa.Init(); UnitTreaaafasa.Init();
UnitaadfafxSubToList.Init(); UnitaadfafxSubToList.Init();
UnitGridSave2.Init(); UnitGridSave2.Init();

View File

@ -17,7 +17,16 @@ namespace SqlSeverTest.UserTestCases.UnitTest
db.CodeFirst.InitTables<BaseProcess, ProcessPlanPackage, ProcessPlanPackageEntry, ProcessPlanPackageEntry, ProcessPlan db.CodeFirst.InitTables<BaseProcess, ProcessPlanPackage, ProcessPlanPackageEntry, ProcessPlanPackageEntry, ProcessPlan
>(); >();
db.CodeFirst.InitTables<ProcessPlanEntry>(); db.CodeFirst.InitTables<ProcessPlanEntry>();
var PlanPackage = db.Queryable<ProcessPlanPackage> ()
Demo1(db);
Demo2(db);
}
private static void Demo2(SqlSugarClient db )
{
var PlanPackage2 = db.Queryable<ProcessPlanPackage>()
.Where(p => p.processPlanPackageEntries.Any(z => .Where(p => p.processPlanPackageEntries.Any(z =>
z.processPlan.Entries.Any(c => z.processPlan.Entries.Any(c =>
@ -26,6 +35,30 @@ namespace SqlSeverTest.UserTestCases.UnitTest
c.Pass == 0))) c.Pass == 0)))
.SingleAsync(p => p.Code == "a"); .SingleAsync(p => p.Code == "a");
} }
private static void Demo1(SqlSugarClient db)
{
var sql = db.Queryable<ProcessPlanPackage>()
.Where(p => p.processPlanPackageEntries.Any(z =>
z.processPlan.Entries.Any(c =>
c.Process.Type == ProcessEnum. &&
c.OrgId == 11 &&
c.Pass == 0)))
.ToSqlString();
if (!sql.Contains("SELECT [Type] FROM [BaseProcess] WHERE ProcessPlanEntry1.[ProcessId]=[Id]"))
{
throw new Exception("unit error");
}
var PlanPackage2 = db.Queryable<ProcessPlanPackage>()
.Where(p => p.processPlanPackageEntries.Any(z =>
z.processPlan.Entries.Any(c =>
c.Process.Type == ProcessEnum. &&
c.OrgId == 11 &&
c.Pass == 0)))
.SingleAsync(p => p.Code == "a").GetAwaiter().GetResult();
}
/// <summary> /// <summary>
/// 作业表 /// 作业表
/// </summary> /// </summary>