This commit is contained in:
sunkaixuan 2025-06-06 19:02:17 +08:00
parent 7fe17e6784
commit 948a544c04

View File

@ -16,6 +16,57 @@ namespace OrmTest
{ {
var db = NewUnitTest.Db; var db = NewUnitTest.Db;
Demo1(db);
Demo2(db);
Demo3(db);
Demo4(db);
Demo5(db);
}
private static void Demo2(SqlSugarClient db)
{
var sql2 =
db.Queryable<OrderJoinItemTemp>()
.Select(p => new StoreBrandOther
{
BrandName = string.IsNullOrEmpty(
SqlFunc.Subqueryable<Brand>().Where(n => n.Id == p.BrandId).Select(n => n.Name)
)
? "aa"
: SqlFunc
.Subqueryable<Brand>()
.Where(n => n.Id == p.BrandId)
.Select(n => n.Name),
CategoryName = string.IsNullOrEmpty(
SqlFunc
.Subqueryable<Category>()
.Where(n => n.Id == p.ThreeLevelCategory)
.Select(n => n.Name)
)
? "为空三级分类"
: SqlFunc
.Subqueryable<Category>()
.Where(n => n.Id == p.ThreeLevelCategory)
.Select(n => n.Name),
StoreId = p.StoreId,
OrderItemId = SqlFunc.ToInt64(p.FoodId),
Total = SqlFunc.ToDecimal(p.ItemPrice * p.ItemCount),
CityId = p.CityId,
})
.ToSqlString();
if (!sql2.Contains(" [OrderJoinItemTemp] [p]"))
{
throw new Exception("unit test");
}
}
private static void Demo1(SqlSugarClient db)
{
var sql1 = var sql1 =
db.Queryable<OrderJoinItemTemp>() db.Queryable<OrderJoinItemTemp>()
.Select(p => new StoreBrandOther .Select(p => new StoreBrandOther
@ -29,38 +80,53 @@ namespace OrmTest
{ {
throw new Exception("unit test"); throw new Exception("unit test");
} }
}
private static void Demo3(SqlSugarClient db)
{
var sql1 =
db.Queryable<OrderJoinItemTemp>()
.Select(p => new StoreBrandOther
{
BrandName = string.IsNullOrEmpty(
p.FoodName
) ? "n" : SqlFunc.Subqueryable<Brand>().Where(n => n.Id == p.BrandId).Select(n => n.Name)
}).ToSqlString();
var sql2 = if (!sql1.Contains(" [OrderJoinItemTemp] [p]"))
db.Queryable<OrderJoinItemTemp>() {
.Select(p => new StoreBrandOther throw new Exception("unit test");
{ }
BrandName = string.IsNullOrEmpty( }
SqlFunc.Subqueryable<Brand>().Where(n => n.Id == p.BrandId).Select(n => n.Name)
)
? "aa"
: SqlFunc
.Subqueryable<Brand>()
.Where(n => n.Id == p.BrandId)
.Select(n => n.Name),
CategoryName = string.IsNullOrEmpty(
SqlFunc
.Subqueryable<Category>()
.Where(n => n.Id == p.ThreeLevelCategory)
.Select(n => n.Name)
)
? "为空三级分类"
: SqlFunc
.Subqueryable<Category>()
.Where(n => n.Id == p.ThreeLevelCategory)
.Select(n => n.Name),
StoreId = p.StoreId,
OrderItemId = SqlFunc.ToInt64(p.FoodId),
Total = SqlFunc.ToDecimal(p.ItemPrice * p.ItemCount),
CityId = p.CityId,
})
.ToSqlString();
if (!sql2.Contains(" [OrderJoinItemTemp] [p]")) private static void Demo4(SqlSugarClient db)
{
var sql1 =
db.Queryable<OrderJoinItemTemp>()
.Select(p => new StoreBrandOther
{
BrandName = string.IsNullOrEmpty(
p.FoodName
) ? SqlFunc.Subqueryable<Brand>().Where(n => n.Id == p.BrandId).Select(n => n.Name):"a"
}).ToSqlString();
if (!sql1.Contains(" [OrderJoinItemTemp] [p]"))
{
throw new Exception("unit test");
}
}
private static void Demo5(SqlSugarClient db)
{
var sql1 =
db.Queryable<OrderJoinItemTemp>()
.Select(p => new StoreBrandOther
{
BrandName = string.IsNullOrEmpty(
p.FoodName
) ? SqlFunc.ToString("a"):SqlFunc.ToString("b")
}).ToSqlString();
if (sql1.Contains(" [OrderJoinItemTemp] [p]"))
{ {
throw new Exception("unit test"); throw new Exception("unit test");
} }