mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 13:34:32 +08:00
103 lines
3.2 KiB
C#
103 lines
3.2 KiB
C#
using SqlSugar;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace OrmTest
|
|
{
|
|
public class Unitafdsafsss
|
|
{
|
|
public static void Init()
|
|
{
|
|
var db = NewUnitTest.Db;
|
|
db.CodeFirst.InitTables<Test001>();
|
|
db.DbMaintenance.TruncateTable<Test001>();
|
|
db.Insertable(new Test001() { ID = 1, Num = 2+"" }).ExecuteCommand();
|
|
var iiii = db.Queryable<Unitafdsafsss.Test001>()
|
|
.Select((c) =>
|
|
new Unitafdsafsss.TestDTO { A = c }
|
|
)
|
|
.ToList();
|
|
if (iiii.First().A == null)
|
|
{
|
|
throw new Exception("unit error");
|
|
}
|
|
var iiii2 = db.Queryable<Unitafdsafsss.Test001>()
|
|
.Select((A) =>
|
|
new Unitafdsafsss.TestDTO { A = A }
|
|
)
|
|
.ToList();
|
|
if (iiii2.First().A == null)
|
|
{
|
|
throw new Exception("unit error");
|
|
}
|
|
var iiii3 = db.Queryable<Unitafdsafsss.Test001>()
|
|
.Select((A) =>
|
|
new Unitafdsafsss.TestDTO2 {Id=A.ID,A = A }
|
|
)
|
|
.ToList();
|
|
if (iiii3.First().A == null|| iiii3.First().Id==0)
|
|
{
|
|
throw new Exception("unit error");
|
|
}
|
|
var exp1 = Expressionable.Create<UnitSchool123>().And(s => s.Id == 1).ToExpression();
|
|
db.CodeFirst.InitTables<UnitStudentasdfa, UnitSchool123>();
|
|
var resulta2 = db.Queryable<UnitStudentasdfa>()
|
|
|
|
.Where(a => SqlFunc.Subqueryable<UnitSchool123>().Where(exp1).Where(s => s.Id == a.SchoolId).Any())
|
|
|
|
.Select(a => a).ToList();
|
|
}
|
|
public class UnitSchool123
|
|
{
|
|
public int Id { get; set; }
|
|
}
|
|
public class UnitStudentasdfa
|
|
{
|
|
public int SchoolId { get; set; }
|
|
}
|
|
[SugarTable("Test002asdfasss")]
|
|
public class Test001
|
|
{
|
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
|
public int ID { get; set; }
|
|
public string Num { get; set; }
|
|
|
|
public int Test002ID { get; set; }
|
|
|
|
[Navigate(NavigateType.ManyToOne, nameof(Test002ID))]
|
|
public Test002 Test002lass { get; set; }
|
|
}
|
|
|
|
[SugarTable("Test002asdfa")]
|
|
public class Test002
|
|
{
|
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
|
public int ID { get; set; }
|
|
public DateTime Date { get; set; }
|
|
|
|
public int Test002ID { get; set; }
|
|
|
|
[Navigate(NavigateType.ManyToOne, nameof(Test002ID))]
|
|
public Test002 Test002Class { get; set; }//A 要么注释掉这句
|
|
}
|
|
|
|
public class TestDTO
|
|
{
|
|
public Test001 A { get; set; }
|
|
public Test002? B { get; set; }//B 要么注释掉这句, 可空类型,应该可以不用吧
|
|
|
|
}
|
|
public class TestDTO2
|
|
{
|
|
public int Id { get; set; }
|
|
public Test001 A { get; set; }
|
|
public Test002? B { get; set; }//B 要么注释掉这句, 可空类型,应该可以不用吧
|
|
|
|
}
|
|
}
|
|
|
|
}
|