This commit is contained in:
sunkaixuan
2025-08-15 09:19:41 +08:00
parent a6e33b73de
commit 02eac0e48f
7 changed files with 171 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
using SqlSugar;
using System.ComponentModel.DataAnnotations.Schema;
namespace TestDemo.Entitys
{
[SugarTable("credit_confirm_level")]
public class PersonCreditLevel
{
[SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
public int Id { get; set; }
/// <summary>
/// 身份证号码
///</summary>
[SugarColumn(ColumnName = "id_card")]
public string IdCard { get; set; }
/// <summary>
/// 信用等级
///</summary>
[SugarColumn(ColumnName = "level")]
public int Level { get; set; }
}
}

View File

@@ -0,0 +1,23 @@
using SqlSugar;
using System.ComponentModel.DataAnnotations.Schema;
namespace TestDemo.Entitys
{
[SugarTable("person_info")]
public class PersonInfo
{
[SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
public int Id { get; set; }
/// <summary>
/// 姓名
///</summary>
[SugarColumn(ColumnName = "name")]
public string Name { get; set; }
/// <summary>
/// 身份证号码
///</summary>
[SugarColumn(ColumnName = "id_card")]
public string IdCard { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using SqlSugar;
using System.ComponentModel.DataAnnotations.Schema;
namespace TestDemo.Entitys
{
[SugarTable("person_job_title")]
public class PersonJobTitle
{
[SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
public int Id { get; set; }
/// <summary>
/// 人员Id
/// </summary>
[SugarColumn(ColumnName = "person_id")]
public int PersonId { get; set; }
/// <summary>
/// 证书编号
///</summary>
[SugarColumn(ColumnName = "cert_no")]
public string CertNo { get; set; }
}
}

View File

@@ -0,0 +1,24 @@
using SqlSugar;
namespace TestDemo.Entitys
{
public class PersonPageModelDto
{
public int Id { get; set; }
/// <summary>
/// 姓名
///</summary>
public string Name { get; set; }
/// <summary>
/// 身份证号码
///</summary>
[SugarColumn(ColumnName = "IdCard")]
public string IdCard { get; set; }
/// <summary>
///
///</summary>
public string CertNum { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using SqlSugar;
using System.ComponentModel.DataAnnotations.Schema;
namespace TestDemo.Entitys
{
[SugarTable("person_reginfo")]
public class PersonReginfo
{
[SugarColumn(ColumnName = "id", IsPrimaryKey = true)]
public int Id { get; set; }
/// <summary>
/// 人员Id
/// </summary>
[SugarColumn(ColumnName = "person_id")]
public int PersonId { get; set; }
/// <summary>
/// 注册证书编号
///</summary>
[SugarColumn(ColumnName = "cert_num")]
public string CertNum { get; set; }
}
}

View File

@@ -31,6 +31,7 @@ namespace OrmTest
}
public static void Init()
{
Unitdfaysfa.Init();
Unitsdfasfasa.Init();
Unitdfsdyss.Init();
Unitadfasfafays.Init();

View File

@@ -0,0 +1,49 @@
using SqlSugar;
using System.Collections.Generic;
using System.Threading.Tasks;
using TestDemo.Entitys;
namespace OrmTest
{
public class Unitdfaysfa
{
public static void Init()
{
GetPerson().GetAwaiter().GetResult();
}
public static async Task<List<PersonPageModelDto>> GetPerson()
{
var db = NewUnitTest.Db;
db.CodeFirst.InitTables<PersonInfo, PersonReginfo, PersonJobTitle, PersonCreditLevel>();
var listQuery = new List<ISugarQueryable<PersonPageModelDto>>();
var queryReginfo = db.Queryable<PersonInfo>()
.LeftJoin<PersonReginfo>((p, r) => p.Id == r.PersonId)
.Select((p, r) => new PersonPageModelDto
{
Id = p.Id,
Name = p.Name,
IdCard = p.IdCard,
CertNum = r.CertNum
});
var queryTitle = db.Queryable<PersonInfo>()
.LeftJoin<PersonJobTitle>((p, r) => p.Id == r.PersonId)
.Select((p, r) => new PersonPageModelDto
{
Id = p.Id,
Name = p.Name,
IdCard = p.IdCard,
CertNum = r.CertNo
});
var query = db.UnionAll(queryTitle, queryReginfo).MergeTable().Where(x => SqlFunc.Subqueryable<PersonCreditLevel>().Where(s => s.IdCard == x.IdCard && s.Level == 8).NotAny());
var pagelist = await query.Clone().CountAsync();
var pagelist2 = query.Clone().Count();
return null;
}
}
}