protected abstract Expression <Func <JoinedItem <T, TT>, bool> > GetSelectorByPrimaryKey(PrimaryKey key);
protected JoinedItem <T, TT> FindByPrimaryKeyInternal(PrimaryKey key, bool singleCulture = false) { var selector = GetSelectorByPrimaryKey(key); return(FindInternal(singleCulture).Where(selector).FirstOrDefault()); }
protected virtual bool Delete(PrimaryKey key) { DeleteAllSubItems(Find(key)); return(_rep.Delete(key)); }
protected JoinedItem <T, TT> FindByPrimaryKey(PrimaryKey key) { return(FindByPrimaryKeyInternal(key)); }