public static STEGraphIterator Create <T>(T entity) { var iterator = new STEGraphIterator(); iterator.Visit(entity); return(iterator); }
public static List <IObjectWithChangeTracker> GetChanges <T>(this T trackingItem) where T : IObjectWithChangeTracker { var graph = STEGraphIterator.Create(trackingItem); return(graph.Where(_ => _.ChangeTracker.State != ObjectState.Unchanged).ToList()); }
public static bool HasChanges <T>(this T trackingItem) where T : IObjectWithChangeTracker { var graph = STEGraphIterator.Create(trackingItem); return(graph.Any(_ => _.ChangeTracker.State != ObjectState.Unchanged)); }