public bool Remove(TElement item, bool isCancelNew)
        {
            bool removed;

            Debug.Assert(_objectContext != null, "ObjectContext is null.");

            if (isCancelNew)
            {
                // Item was previously added to binding list, but not ObjectContext.
                removed = _bindingList.Remove(item);
            }
            else
            {
                EntityEntry stateEntry = _objectContext.ObjectStateManager.FindEntityEntry(item);

                if (stateEntry != null)
                {
                    stateEntry.Delete();
                    // OnCollectionChanged event will be fired, where the binding list will be updated.
                    removed = true;
                }
                else
                {
                    removed = false;
                }
            }

            return(removed);
        }
예제 #2
0
        public bool Remove(TElement item, bool isCancelNew)
        {
            bool flag;

            if (isCancelNew)
            {
                flag = this._bindingList.Remove(item);
            }
            else
            {
                EntityEntry entityEntry = this._objectContext.ObjectStateManager.FindEntityEntry((object)item);
                if (entityEntry != null)
                {
                    entityEntry.Delete();
                    flag = true;
                }
                else
                {
                    flag = false;
                }
            }
            return(flag);
        }