Пример #1
0
            private bool SubmitChanges(EntitySession.TrackedItem item)
            {
                switch (item.State)
                {
                case SubmitAction.Update:
                    base.ProviderTable.Update(item.Instance);
                    return(true);

                case SubmitAction.PossibleUpdate:
                    if ((item.Original == null) || !this.Mapping.IsModified(item.Entity, item.Instance, item.Original))
                    {
                        break;
                    }
                    base.ProviderTable.Update(item.Instance);
                    return(true);

                case SubmitAction.Insert:
                    base.ProviderTable.Insert(item.Instance);
                    return(true);

                case SubmitAction.InsertOrUpdate:
                    base.ProviderTable.InsertOrUpdate(item.Instance);
                    return(true);

                case SubmitAction.Delete:
                    base.ProviderTable.Delete(item.Instance);
                    return(true);
                }
                return(false);
            }
Пример #2
0
            private void AcceptChanges(EntitySession.TrackedItem item)
            {
                switch (item.State)
                {
                case SubmitAction.Update:
                case SubmitAction.PossibleUpdate:
                    this.AssignAction((T)item.Instance, SubmitAction.PossibleUpdate);
                    break;

                case SubmitAction.Insert:
                    this.AddToCache((T)item.Instance);
                    this.AssignAction((T)item.Instance, SubmitAction.PossibleUpdate);
                    break;

                case SubmitAction.InsertOrUpdate:
                    this.AddToCache((T)item.Instance);
                    this.AssignAction((T)item.Instance, SubmitAction.PossibleUpdate);
                    break;

                case SubmitAction.Delete:
                    this.RemoveFromCache((T)item.Instance);
                    this.AssignAction((T)item.Instance, SubmitAction.None);
                    break;
                }
            }
Пример #3
0
 bool EntitySession.ITrackedTable.SubmitChanges(EntitySession.TrackedItem item)
 {
     return(this.SubmitChanges(item));
 }
Пример #4
0
 void EntitySession.ITrackedTable.AcceptChanges(EntitySession.TrackedItem item)
 {
     this.AcceptChanges(item);
 }
Пример #5
0
 internal Edge(EntitySession.TrackedItem source, EntitySession.TrackedItem target)
 {
     this.Source = source;
     this.Target = target;
     this.hash   = this.Source.GetHashCode() + this.Target.GetHashCode();
 }