{"push_id":586455257,"size":1,"distinct_size":0,"ref":"refs/heads/dev","head":"b9788aacf973ab3008ce1b208db134499db860cd","before":"b589cec46cccb8b4697d1fc8af7fda08c4bf3c88","commits":[{"sha":"b9788aacf973ab3008ce1b208db134499db860cd","author":{"email":"7fcf9ee3bd99ae911d41c7f75dcf8235b5e580f8@hotmail.com","name":"ajcvickers"},"message":"Allow direct constructor injection of dynamic services\n\nThis change removes the DbContextService class and instead registers DI functions that return dynamic services directly. This means that the services can be used directly in constructor arguments, and consequentially are resolved eagerly rather than lazily.\n\nThe most significant change from this is that DataStore could not longer depend on StateManager. This was resolved by doing some DI-enabling in query, since query was using DataStore to obtain most of its services. There is probably more that can be done to reduce DataStore coupling by DI-enabling query.\n\nIn addition to this change, the DataStoreServices implementations of providers are now implemented using ServiceLocator. This is a good change because DataStoreServices is now used only as the source for functions registered in DI that allow the constructor injection to work, and using service locator avoids coupling of all the data store services together in one place where they will all be loaded together.\n\nOther changes were in tests where we were relying on lazy evaluation never happening to avoid having to have valid services. The eager evaluation means we always need a valid service.","distinct":false,"url":"https://api.github.com/repos/aspnet/EntityFramework/commits/b9788aacf973ab3008ce1b208db134499db860cd"}]}