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); } }
public T Find <T>(string text) where T : Entity { return(text.IsEmpty() ? null : _finder.Find <T>(this, text)); }