diff --git a/FreeSql.DbContext/DbSet/DbSetSync.cs b/FreeSql.DbContext/DbSet/DbSetSync.cs
index a6dddb08..2377a59c 100644
--- a/FreeSql.DbContext/DbSet/DbSetSync.cs
+++ b/FreeSql.DbContext/DbSet/DbSetSync.cs
@@ -545,7 +545,7 @@ namespace FreeSql
///
public void BeginEdit(List data)
{
- if (data == null || data.Any() == false) return;
+ if (data == null) return;
if (_table.Primarys.Any() == false) throw new Exception($"不可进行编辑,实体没有主键:{_db.OrmOriginal.GetEntityString(_entityType, data.First())}");
_statesEditing.Clear();
_dataEditing = data;
diff --git a/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs b/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs
index a65081bb..0e65d5a9 100644
--- a/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs
+++ b/FreeSql.Tests/FreeSql.Tests.DbContext/RepositoryTests.cs
@@ -552,6 +552,23 @@ namespace FreeSql.Tests
cts.RemoveAt(1);
Assert.Equal(3, repo.EndEdit());
+
+ g.sqlite.Delete().Where("1=1").ExecuteAffrows();
+ repo = g.sqlite.GetRepository();
+ cts = repo.Select.ToList();
+ repo.BeginEdit(cts);
+
+ cts.AddRange(new[] {
+ new BeginEdit01 { Name = "1" },
+ new BeginEdit01 { Name = "1_1" },
+ new BeginEdit01 { Name = "1_2" },
+ new BeginEdit01 { Name = "1_3" },
+ new BeginEdit01 { Name = "2" },
+ new BeginEdit01 { Name = "2_1" },
+ new BeginEdit01 { Name = "2_2" }
+ });
+
+ Assert.Equal(7, repo.EndEdit());
}
class BeginEdit01
{