Refactored to clean up the number of projects. Moved the Argument null Guard to the Entity Framework implementation