- 恢复 IBaseRepository SaveMany 方法;

This commit is contained in:
2881099
2024-08-21 03:18:52 +08:00
parent dd4aa0259f
commit 528d8a3f99
6 changed files with 415 additions and 0 deletions

View File

@ -15,6 +15,15 @@ namespace FreeSql
{
partial class AggregateRootRepository<TEntity>
{
public virtual void SaveMany(TEntity entity, string propertyName)
{
var tracking = new AggregateRootTrackingChangeInfo();
var stateKey = Orm.GetEntityKeyString(EntityType, entity, false);
if (_states.TryGetValue(stateKey, out var state) == false) throw new Exception($"AggregateRootRepository 使用仓储对象查询后,才可以保存数据 {Orm.GetEntityString(EntityType, entity)}");
AggregateRootUtils.CompareEntityValue(_boundaryName, Orm, EntityType, state.Value, entity, propertyName, tracking);
SaveTrackingChange(tracking);
Attach(entity); //应该只存储 propertyName 内容
}
#region BeginEdit/EndEdit
List<TEntity> _dataEditing;