My recommendation would be to stick with small, separated operations. For me it makes no logical sense to try to group together add/modify operations with retrieval operations. The former is likely to return very little data while the latter is designed with that intent. Likewise, the former will likely accept many bits of data in order to save it, while the latter take in none to only a little for filtering purposes. Given the significant behavior and the difficulty in debugging the bridge between program code and database code I could stick with keeping the units of processing small.