2021-12-25 11:48:02 +08:00
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
using SqlSugar ;
namespace OrmTest
{
public partial class NewUnitTest
{
public static void SubQueryTest ( )
{
var sql = Db . Queryable < Order > ( ) . Where ( it = > SqlFunc . Subqueryable < OrderItem > ( ) . Where ( s = > s . OrderId = = it . Id ) . Any ( ) ) . ToSql ( ) ;
2023-01-12 19:35:28 +08:00
if ( sql . Key ! = "SELECT [Id],[Name],[Price],[CreateTime],[CustomId] FROM [Order] [it] WHERE (EXISTS ( SELECT * FROM [OrderDetail] [s] WHERE ( [OrderId] = [it].[Id] ) ))" )
2021-12-25 11:48:02 +08:00
{
throw new Exception ( "unit error" ) ;
}
sql = Db . Queryable < Order > ( ) . Select ( it = > new
{
ItemId = SqlFunc . Subqueryable < OrderItem > ( ) . Where ( s = > s . OrderId = = it . Id ) . Select ( s = > s . ItemId )
} ) . ToSql ( ) ;
2023-05-17 20:37:41 +08:00
if ( sql . Key ! = "SELECT (SELECT TOP 1 [s].[ItemId] FROM [OrderDetail] [s] WHERE ( [s].[OrderId] = [it].[Id] )) AS [ItemId] FROM [Order] [it] " )
2021-12-25 11:48:02 +08:00
{
throw new Exception ( "unit error" ) ;
}
}
}
}