This commit is contained in:
sunkaixuan
2025-09-23 16:24:37 +08:00
parent 3460467653
commit 228dc593cc
2 changed files with 82 additions and 0 deletions

View File

@@ -32,6 +32,7 @@ namespace OrmTest
} }
public static void Init() public static void Init()
{ {
Unitasdfadsy22.Init();
UnitADFAydd.Init(); UnitADFAydd.Init();
Unitadsfadfsy23131.Init(); Unitadsfadfsy23131.Init();
Unitfasdfasysfs.Init(); Unitfasdfasysfs.Init();

View File

@@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
using System.Data;
using System.Xml.Serialization;
namespace OrmTest
{
internal class Unitasdfadsy22
{
public static void Init()
{
var db = NewUnitTest.Db;
//建库
db.DbMaintenance.CreateDatabase();
//建表
db.CodeFirst.InitTables<Test001>();
db.CodeFirst.InitTables<Test002>();
//清空表
db.DbMaintenance.TruncateTable<Test001>();
db.DbMaintenance.TruncateTable<Test002>();
//添加过滤器
db.QueryFilter.AddTableFilter<IDeleted>(it => it.IsDelete == false);
//插入测试数据
var result = db.Insertable(new Test001() { Name = "01" }).ExecuteReturnEntity();//用例代码
db.Insertable(new Test002() { Test001Id = result.Id, Name = "01_01" }).ExecuteCommand();//用例代码
var data = db.Queryable<Test001>().Select(x => new TestView
{
Test002Count = SqlFunc.Subqueryable<Test002>().EnableTableFilter().Where(w => w.Test001Id == x.Id).Count()
}, true);
var list = data.ToList();
}
public class TestView : Test001
{
public int Test002Count { get; set; }
}
[SugarTable("unitTest001122")]
public class Test001 : IDeleted
{
[SugarColumn(ColumnName = "id", IsNullable = false, ColumnDescription = "主键", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
[SugarColumn(ColumnName = "name", IsNullable = false, ColumnDescription = "名称", ColumnDataType = "varchar(32)")]
public string Name { get; set; }
[SugarColumn(ColumnName = "is_delete", IsNullable = false, ColumnDescription = "是否删除")]
public bool IsDelete { get; set; } = false;
}
[SugarTable("unitTest222222")]
public class Test002 : IDeleted
{
[SugarColumn(ColumnName = "id", IsNullable = false, ColumnDescription = "主键", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
[SugarColumn(ColumnName = "Test001_id", IsNullable = false)]
public int Test001Id { get; set; }
[SugarColumn(ColumnName = "name", IsNullable = false, ColumnDescription = "名称", ColumnDataType = "varchar(32)")]
public string Name { get; set; }
[SugarColumn(ColumnName = "is_delete", IsNullable = false, ColumnDescription = "是否删除")]
public bool IsDelete { get; set; } = false;
}
public interface IDeleted
{
/// <summary>
/// 是否删除
/// </summary>
public bool IsDelete { get; set; }
}
}
}