Example #1
0
        public override void RemoveEntity(Object dataContext, ODataResourceBase entry)
        {
            var dbContext = (DbContext)dataContext;
            InternalEntityEntry entityEntry = GetEntityEntry(dbContext, entry);

            if (entityEntry == null)
            {
                Object entity = CreateEntity(dbContext, entry);
                if (_selfReferenceKey == null)
                {
                    dbContext.Attach(entity);
                }
                else
                {
                    IEntityFinder finder = dbContext.GetDependencies().EntityFinderFactory.Create(_entityType);
                    entity = finder.Find(GetKeyValues(entry));
                }
                dbContext.Entry(entity).State = EntityState.Deleted;
            }
            else
            {
                entityEntry.SetEntityState(EntityState.Deleted);
            }
        }
Example #2
0
 public T Find <T>(string text) where T : Entity
 {
     return(text.IsEmpty() ? null : _finder.Find <T>(this, text));
 }