Set<T> Query<T> (which is just Set<T> with AsNoTracking enabled) and SaveChanges on the DbContext. That's injected pretty much everywhere we need to make a database query, so most of our services have it injected. This was a pattern set before I joined the company and we've just followed it since.