One thing I marginally don't like is the inconsistency on the API this introduces.  Possibly add a new function instead "DeleteById" of course then the normal delete will no longer be used ...