sunkaixuan
2 years ago
3 changed files with 82 additions and 0 deletions
@ -0,0 +1,80 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
|
||||
|
using SqlSugar; |
||||
|
|
||||
|
namespace OrmTest |
||||
|
{ |
||||
|
public class UnitInsertNav3 |
||||
|
{ |
||||
|
public static void Init() |
||||
|
{ |
||||
|
var db = NewUnitTest.Db; |
||||
|
//建表
|
||||
|
db.CodeFirst.InitTables<Country, Province, City>(); |
||||
|
db.DbMaintenance.TruncateTable<Country, Province, City>(); |
||||
|
|
||||
|
//插入一级导航数据
|
||||
|
var country = new Country |
||||
|
{ |
||||
|
Id = 1, |
||||
|
Provinces = new List<Province> { |
||||
|
new Province{ |
||||
|
Id = 1, |
||||
|
CountryId = 1 |
||||
|
}, |
||||
|
} |
||||
|
}; |
||||
|
db.InsertNav(country) |
||||
|
.Include(it => it.Provinces) |
||||
|
.ExecuteCommand(); |
||||
|
|
||||
|
//构造二级导航数据
|
||||
|
country.Provinces[0].Cities = new List<City> |
||||
|
{ |
||||
|
new City |
||||
|
{ |
||||
|
Id = 1, |
||||
|
ProvinceId = 1 |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
//用例代码
|
||||
|
var result = db.InsertNav(country) |
||||
|
.Include(it => it.Provinces,new InsertNavOptions() { OneToManyIfExistsNoInsert=true}) |
||||
|
.ThenInclude(it => it.Cities, new InsertNavOptions() { OneToManyIfExistsNoInsert = true }) |
||||
|
.ExecuteCommand();//用例代码
|
||||
|
if (!db.Queryable<City>().Where(it => it.Id == 1).Any()) |
||||
|
throw new Exception("未插入二级导航数据"); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
//建类
|
||||
|
[SugarTable("Unitaaa1Country")] |
||||
|
public class Country |
||||
|
{ |
||||
|
[SugarColumn(IsPrimaryKey = true)] |
||||
|
public long Id { get; set; } |
||||
|
[SugarColumn(IsIgnore = true)] |
||||
|
[Navigate(NavigateType.OneToMany, nameof(Province.CountryId))] |
||||
|
public List<Province> Provinces { get; set; } |
||||
|
} |
||||
|
[SugarTable("Unitaaa1Province")] |
||||
|
public class Province |
||||
|
{ |
||||
|
[SugarColumn(IsPrimaryKey = true)] |
||||
|
public long Id { get; set; } |
||||
|
public long CountryId { get; set; } |
||||
|
[SugarColumn(IsIgnore = true)] |
||||
|
[Navigate(NavigateType.OneToMany, nameof(City.ProvinceId))] |
||||
|
public List<City> Cities { get; set; } |
||||
|
} |
||||
|
[SugarTable("Unitaaa1City")] |
||||
|
public class City |
||||
|
{ |
||||
|
[SugarColumn(IsPrimaryKey = true)] |
||||
|
public long Id { get; set; } |
||||
|
public long ProvinceId { get; set; } |
||||
|
} |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue