mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-22 20:13:41 +08:00
Add Complex Model Demo
This commit is contained in:
51
SqlServerTest/Demos/ComplexModel.cs
Normal file
51
SqlServerTest/Demos/ComplexModel.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using SqlSugar;
|
||||
using OrmTest.Demo;
|
||||
|
||||
namespace OrmTest.Demo
|
||||
{
|
||||
public class ComplexModel : DemoBase
|
||||
{
|
||||
public static void Init()
|
||||
{
|
||||
var db = GetInstance();
|
||||
var student = db.Queryable<CMStudent>().ToList();
|
||||
}
|
||||
}
|
||||
|
||||
[SugarTable("Student")]
|
||||
public class CMStudent : ModelContext
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public int SchoolId { get; set; }
|
||||
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public CMSchool SchoolSingle
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.CreateMapping<CMSchool>().Single(it => it.Id == this.Id);
|
||||
}
|
||||
}
|
||||
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public List<CMSchool> SchoolList
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.CreateMapping<CMSchool>().Where(it => it.Id == this.Id).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[SugarTable("School")]
|
||||
public class CMSchool
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
@@ -42,6 +42,7 @@ namespace OrmTest
|
||||
OrmTest.Demo.JoinSql.Init();
|
||||
OrmTest.Demo.Filter.Init();
|
||||
OrmTest.Demo.MaterSlave.Init();
|
||||
OrmTest.Demo.ComplexModel.Init();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -48,6 +48,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Config.cs" />
|
||||
<Compile Include="Demos\ComplexModel.cs" />
|
||||
<Compile Include="Demos\Filter.cs" />
|
||||
<Compile Include="Demos\JoinSql.cs" />
|
||||
<Compile Include="Demos\DbFirst.cs" />
|
||||
|
16
SqlSugar/Entities/ModelContext.cs
Normal file
16
SqlSugar/Entities/ModelContext.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
public class ModelContext
|
||||
{
|
||||
internal SqlSugarClient Context { get; set; }
|
||||
public ISugarQueryable<T> CreateMapping<T>()where T:class,new()
|
||||
{
|
||||
return Context.Queryable<T>();
|
||||
}
|
||||
}
|
||||
}
|
@@ -64,6 +64,7 @@
|
||||
<Compile Include="Abstract\InsertableProvider\InsertableProvider.cs" />
|
||||
<Compile Include="Abstract\DeleteProvider\DeleteableProvider.cs" />
|
||||
<Compile Include="Abstract\UpdateProvider\UpdateableProvider.cs" />
|
||||
<Compile Include="Entities\ModelContext.cs" />
|
||||
<Compile Include="Entities\SchemaInfo.cs" />
|
||||
<Compile Include="Entities\SqlFilter.cs" />
|
||||
<Compile Include="Enum\DbObjectType.cs" />
|
||||
|
Reference in New Issue
Block a user