SqlSugar源码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.6 KiB

using System;
using SqlSugar;
namespace OrmTest
{
public static class UnitOneToOneN2
{
public static void Init()
{
var db = NewUnitTest.Db;
////建表
//db.CodeFirst.InitTables<Country, Province, City>();
//db.DbMaintenance.TruncateTable<Country, Province, City>();
//用例代码
var result = db.Queryable<Country>()
.Where(Country => Country.Province.City.CityId == 1)
.ToSqlString();//用例代码
if (!result.Contains("City1.[ProvinceId]=Province0.[ProvinceId]"))
{
throw new Exception("unit error");
}
}
//建类
public class Country
{
[SugarColumn(IsPrimaryKey = true)]
public int CountryId { get; set; }
public int ProvinceId { get; set; }
[SugarColumn(IsIgnore = true)]
[Navigate(NavigateType.OneToOne, nameof(ProvinceId))]
public Province Province { get; set; }
}
public class Province
{
[SugarColumn(IsPrimaryKey = true)]
public int ProvinceId { get; set; }
[SugarColumn(IsIgnore = true)]
[Navigate(NavigateType.OneToOne, nameof(ProvinceId), nameof(UnitOneToOneN2.City.ProvinceId))]
public City City { get; set; }
}
public class City
{
[SugarColumn(IsPrimaryKey = true)]
public int CityId { get; set; }
public int ProvinceId { get; set; }
}
}
}