diff --git a/Src/Asp.Net/AccessTest/AccessTest.csproj b/Src/Asp.Net/AccessTest/AccessTest.csproj
index 23b9f7db1..041873aeb 100644
--- a/Src/Asp.Net/AccessTest/AccessTest.csproj
+++ b/Src/Asp.Net/AccessTest/AccessTest.csproj
@@ -80,6 +80,7 @@
+
diff --git a/Src/Asp.Net/AccessTest/Unit/UnitInsertNavN.cs b/Src/Asp.Net/AccessTest/Unit/UnitInsertNavN.cs
new file mode 100644
index 000000000..9c7900800
--- /dev/null
+++ b/Src/Asp.Net/AccessTest/Unit/UnitInsertNavN.cs
@@ -0,0 +1,88 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using SqlSugar;
+namespace OrmTest
+{
+ public class UnitInsertNavN
+ {
+ public static void Init()
+ {
+ //导航更新问题
+ //关联层级大于或等于四层时 存在脏数据
+
+ Console.WriteLine("----------程序开始----------");
+
+ //创建数据库对象
+ SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
+ {
+ ConnectionString = Config.ConnectionString,//Master Connection
+ DbType = DbType.Access,
+ InitKeyType = InitKeyType.Attribute,
+ IsAutoCloseConnection = true
+ });
+ db.Aop.OnLogExecuting = (sql, pars) =>
+ {
+ Console.WriteLine(UtilMethods.GetSqlString(db.CurrentConnectionConfig.DbType,sql,pars));//输出sql,查看执行sql 性能无影响
+ };
+
+ //如果不存在创建数据库存在不会重复创建
+ //db.DbMaintenance.CreateDatabase();
+ //根据实体名创建对应表
+ db.CodeFirst.InitTables(typeof(ClassA), typeof(ClassB));
+
+ //清空表中数据
+ db.Deleteable().ExecuteCommand();
+ db.Deleteable().ExecuteCommand();
+
+ //初始化数据 共四层 都是一对多的关系表
+ ClassA a = new ClassA();
+ a.AId =1;
+ a.UpdateTime= DateTime.Now;
+
+ ClassB b = new ClassB();
+ b.BId = 2;
+ b.AId = a.AId;
+ a.B = new List() { b };
+
+
+ //导航插入四表数据
+ db.InsertNav(a)
+ .Include(t => t.B)
+ .ExecuteCommand();
+
+ var list= db.Queryable().ToList();
+ var list2=db.Queryable().Includes(z => z.B).ToList();
+ Console.WriteLine("----------程序结束----------");
+
+ }
+
+ ///
+ /// 一级类
+ ///
+ [SugarTable("tb_a1")]
+ public class ClassA
+ {
+ [SugarColumn(IsPrimaryKey = true,IsIdentity =true)]
+ public int AId { get; set; }
+ [Navigate(NavigateType.OneToMany, nameof(ClassB.AId))]
+ public List B { get; set; }
+ [SugarColumn(IsNullable = true)]
+ public DateTime? UpdateTime { get; set; }
+ }
+ ///
+ /// 二级类
+ ///
+ [SugarTable("tb_b2")]
+ public class ClassB
+ {
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
+ public int BId { get; set; }
+ public int AId { get; set; }
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Src/Asp.Net/SqlSugar.Access/Access/CodeFirst/AccessCodeFirst.cs b/Src/Asp.Net/SqlSugar.Access/Access/CodeFirst/AccessCodeFirst.cs
index e9bf91660..59c13d3cd 100644
--- a/Src/Asp.Net/SqlSugar.Access/Access/CodeFirst/AccessCodeFirst.cs
+++ b/Src/Asp.Net/SqlSugar.Access/Access/CodeFirst/AccessCodeFirst.cs
@@ -7,6 +7,10 @@ namespace SqlSugar.Access
{
public class AccessCodeFirst : CodeFirstProvider
{
+ protected override void ChangeKey(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
+ {
+
+ }
protected override string GetTableName(EntityInfo entityInfo)
{
var table= this.Context.EntityMaintenance.GetTableName(entityInfo.EntityName);