323 voteslfbicalho . commented
I think that interfaces should be useful to create multiples dbcontexts for examples if you have modules in your project, you could change the implementation using a DI.
264 voteslfbicalho . commented
Instead of using the method to call the table value function, you could use an attribute to set that the empty method is a table value function and in the EF expression parser translate it into the call of the function. this could work for table value and for scalar value function in where or in select.