diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj index e6d6b6dae..ee2cb352c 100644 --- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj +++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj @@ -97,6 +97,7 @@ + diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs index 545951f3d..cb34fba3c 100644 --- a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs +++ b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs @@ -31,6 +31,7 @@ namespace OrmTest } public static void Init() { + UnitOneToOneN2.Init(); UnitManyToManyUpdate.Init(); UnitManyToMay1231.Init(); UnitUpdateNav2.Init(); diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UnitOneToOneN2.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UnitOneToOneN2.cs new file mode 100644 index 000000000..982830eb8 --- /dev/null +++ b/Src/Asp.Net/SqlServerTest/UnitTest/UnitOneToOneN2.cs @@ -0,0 +1,56 @@ +using System; + +using SqlSugar; + +namespace OrmTest +{ + public static class UnitOneToOneN2 + { + public static void Init() + { + var db = NewUnitTest.Db; + + ////建表 + //db.CodeFirst.InitTables(); + //db.DbMaintenance.TruncateTable(); + + //用例代码 + var result = db.Queryable() + .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; } + } + } +} \ No newline at end of file