protected BeforeSaveEntities ( Dictionary |
||
saveMap | Dictionary |
A List of EntityInfo for each Type |
return | List |
public void BeforeSave() { SaveMap = new Dictionary <Type, List <EntityInfo> >(); EntitiesWithAutoGeneratedKeys = new List <EntityInfo>(); EntityInfoGroups.ForEach(eg => { var entityInfos = eg.EntityInfos.Where(ei => ContextProvider.BeforeSaveEntity(ei)).ToList(); EntitiesWithAutoGeneratedKeys.AddRange(entityInfos.Where(ei => ei.AutoGeneratedKey != null)); SaveMap.Add(eg.EntityType, entityInfos); }); SaveMap = ContextProvider.BeforeSaveEntities(SaveMap); }
public void BeforeSave() { SaveMap = new Dictionary <Type, List <EntityInfo> >(); EntityInfoGroups.ForEach(eg => { var entityInfos = eg.EntityInfos.Where(ei => ContextProvider.BeforeSaveEntity(ei)).ToList(); SaveMap.Add(eg.EntityType, entityInfos); }); SaveMap = ContextProvider.BeforeSaveEntities(SaveMap); EntitiesWithAutoGeneratedKeys = SaveMap .SelectMany(eiGrp => eiGrp.Value) .Where(ei => ei.AutoGeneratedKey != null && ei.EntityState != EntityState.Detached) .ToList(); }
public async Task BeforeSaveAsync(CancellationToken cancellationToken) { SaveMap = new Dictionary <Type, List <EntityInfo> >(); foreach (var eg in EntityInfoGroups) { var entityInfos = new List <EntityInfo>(); foreach (var ei in eg.EntityInfos) { if (ContextProvider.BeforeSaveEntity(ei) && await ContextProvider.BeforeSaveEntityAsync(ei, cancellationToken)) { entityInfos.Add(ei); } } SaveMap.Add(eg.EntityType, entityInfos); } SaveMap = await ContextProvider.BeforeSaveEntitiesAsync(ContextProvider.BeforeSaveEntities(SaveMap), cancellationToken); EntitiesWithAutoGeneratedKeys = SaveMap .SelectMany(eiGrp => eiGrp.Value) .Where(ei => ei.AutoGeneratedKey != null && ei.EntityState != EntityState.Detached) .ToList(); }