I have, what I think is a very well structured project, finally. After reading Fowler’s onion architecture, learning Ninject for IOC/DI and tweaking my Psuedo repository classes, I am using EF 4.1 so DbSet and DbContext supply the repository for the most part; I am now faced with the irritating dependency on Entity Framework when wanting to “Include” other Entities / Related Entities in my repository.
Does anyone have any suggestions on how to break this dependency?
For example, I have a service layer that makes calls to Repository As soon as I decide to use .Include I am bound to the fat and heavy Entity Framework… Should I go with .Join or can EF be abstracted in some way?
Julie Lerman has a post on her blog where she shows an Include extension method on
IQueryable<T>, which allows you to use Include in your code and not break your unit tests:See her full blog post here:
Agile Entity Framework 4 Repository Part 5: IObjectSet and Include