I looked into the content service some time ago (v12?) and was pretty surprised to see raw SQL being used inside the code (rather than in a centralised dbservice or service that produces the sql).
But if we make an IDBService that the ContentService etc. can inject with standardised DB calls, then we as programmers can develop our own db packages that can use whatever databasing service we want to, then the contentservice can hit the API and use IQueryable to modify the results with what is needed. From NoSQL through to SQL RDBMS would then be able to be implemented.
I have started on this myself cause I don’t want to have to use SQL which is slow and has a lot of great features a website will never use. But it would be great if the people developing the product were going in this direction rather than toward the more restrictive EF.