diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
index c655c2dd4..5ad33f19b 100644
--- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
+++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
@@ -142,6 +142,7 @@
+
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Main.cs
index 0f9fa8edf..1b46f7d5e 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()
{
+ UnitUpdateNav.Init();
UnitOneToOneN.Init();
ULock.Init();
UnitManyToMany2.Init();
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UnitUpdateNav.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UnitUpdateNav.cs
new file mode 100644
index 000000000..4003aaf8f
--- /dev/null
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/UnitUpdateNav.cs
@@ -0,0 +1,68 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using static OrmTest.UOneManyMany4;
+
+namespace OrmTest
+{
+ internal class UnitUpdateNav
+ {
+ public static void Init()
+ {
+ var db = NewUnitTest.Db;
+ db.CodeFirst.InitTables();
+ db.DbMaintenance.TruncateTable();
+
+ var id1 = Guid.NewGuid();
+ var id2 = Guid.NewGuid();
+ var id3 = Guid.NewGuid();
+ var id4 = Guid.NewGuid();
+ db.Insertable(new Student_004() { sid = id1, Name = "北大jack", SchoolId = id1 }).ExecuteCommand();
+ db.Insertable(new Student_004() { sid = id2, Name = "青华jack", SchoolId = id2 }).ExecuteCommand();
+
+ db.Insertable(new School_004() { scid = id1, schname = "北大" }).ExecuteCommand();
+ db.Insertable(new School_004() { scid = id2, schname = "青华" }).ExecuteCommand();
+ db.Insertable(new Book_004() { StudentId = id1, Name = "数学001" }).ExecuteCommand();
+ db.Insertable(new Book_004() { StudentId = id2, Name = "语文002" }).ExecuteCommand();
+
+
+ db.Insertable(new Room_004() { roomId = id1, schoolId = id1, roomName = "北大01室" }).ExecuteCommand();
+ db.Insertable(new Room_004() { roomId = id2, schoolId = id1, roomName = "北大02室" }).ExecuteCommand();
+ db.Insertable(new Room_004() { roomId = id3, schoolId = id2, roomName = "青华03室" }).ExecuteCommand();
+ db.Insertable(new Room_004() { roomId = id4, schoolId = id2, roomName = "青华04室" }).ExecuteCommand();
+
+ db.Insertable(new Desk_004() { roomId = id1, deskid = id1, deskName = "北大01室_01" }).ExecuteCommand();
+ db.Insertable(new Desk_004() { roomId = id2, deskid = id2, deskName = "北大02室_01" }).ExecuteCommand();
+ db.Insertable(new Desk_004() { roomId = id3, deskid = id3, deskName = "青华03室_01" }).ExecuteCommand();
+ db.Insertable(new Desk_004() { roomId = id4, deskid = id4, deskName = "青华04室_01" }).ExecuteCommand();
+
+
+ var list = db.Queryable()
+ .Includes(x => x.school_001, x => x.rooms, x => x.desk)
+ .Includes(x => x.books)
+ .Where(x => x.school_001.rooms.Any(z => z.desk.Any())).ToList();
+
+ if (list.Count() != 2)
+ {
+ throw new Exception("unit error");
+ }
+ list.First().books = new List();
+ db.UpdateNav(list)
+ .Include(x=>x.books).ExecuteCommand();
+
+ var list2 = db.Queryable()
+ .Includes(x => x.books).ToList();
+
+ if (list2.First().books.Count > 0)
+ {
+ throw new Exception("unit error");
+ }
+ if (list2.Last().books.Count == 0)
+ {
+ throw new Exception("unit error");
+ }
+ }
+ }
+}