diff --git a/FreeSql.DbContext/DbSet/DbSetAsync.cs b/FreeSql.DbContext/DbSet/DbSetAsync.cs index 2cedd018..18763e4e 100644 --- a/FreeSql.DbContext/DbSet/DbSetAsync.cs +++ b/FreeSql.DbContext/DbSet/DbSetAsync.cs @@ -96,6 +96,7 @@ namespace FreeSql public Task AddAsync(TEntity data, CancellationToken cancellationToken = default) => AddPrivAsync(data, true, cancellationToken); async public Task AddRangeAsync(IEnumerable data, CancellationToken cancellationToken = default) { + if (data is List == false) data = data?.ToList(); if (CanAdd(data, true) == false) return; if (data.ElementAtOrDefault(1) == default(TEntity)) { @@ -444,6 +445,7 @@ namespace FreeSql public Task UpdateRangeAsync(IEnumerable data, CancellationToken cancellationToken = default) => UpdateRangePrivAsync(data, true, cancellationToken); async Task UpdateRangePrivAsync(IEnumerable data, bool isCheck, CancellationToken cancellationToken) { + if (data is List == false) data = data?.ToList(); if (CanUpdate(data, true) == false) return; foreach (var item in data) { diff --git a/FreeSql.DbContext/DbSet/DbSetSync.cs b/FreeSql.DbContext/DbSet/DbSetSync.cs index 5fbdccbc..19bcc519 100644 --- a/FreeSql.DbContext/DbSet/DbSetSync.cs +++ b/FreeSql.DbContext/DbSet/DbSetSync.cs @@ -98,6 +98,7 @@ namespace FreeSql public void Add(TEntity data) => AddPriv(data, true); public void AddRange(IEnumerable data) { + if (data is List == false) data = data?.ToList(); if (CanAdd(data, true) == false) return; if (data.ElementAtOrDefault(1) == default(TEntity)) { @@ -484,6 +485,7 @@ namespace FreeSql public void UpdateRange(IEnumerable data) => UpdateRangePriv(data, true); void UpdateRangePriv(IEnumerable data, bool isCheck) { + if (data is List == false) data = data?.ToList(); if (CanUpdate(data, true) == false) return; foreach (var item in data) {