Unit test for entities retreived to memory

Thanks for sorting out my branch. Thanks also for fixing the library - working beautifully now! This pull request should be much easier, as I am now in sync with the latest version.

This is some more work on the unit tests, still executing in about the same time, but uses the DbSet Local property to check that only the required number of entities have been retrieved from the database (rather than retrieving more than necessary into an ICollection and then using linq). 

Also more reusable/logical code by taking advantage of the Nunit TestCaseSource annotation.

All tests (12 in total) currently pass, and take a fraction less than 10secs to execute on my laptop.

I will leave the testing framework alone now!

Thanks again for this great open source code!