 <p>In general, <strong>Complexity can be reduced by abstracting your repetitive code into reusable, easily-maintainable components</strong>. </p> <p>In your particular case, the complexity can be reduced by <strong>implementing the <a href="http://www.codeinsanity.com/2008/08/repository-pattern.html" rel="nofollow">Repository</a> and <a href="http://devlicio.us/blogs/jeff_perrin/archive/2006/12/13/the-specification-pattern.aspx" rel="nofollow">Specification</a> patterns</strong> to make your code more consistent, easier to read, and easier to maintain. </p> <p>There is a very helpful sequence of articles by Huy Nhuyen explaining the repository pattern, the specification pattern and how to effectively combine them with the Entity Framework for better code. These are available at:</p> <ul> <li><a href="http://huyrua.wordpress.com/2010/07/13/entity-framework-4-poco-repository-and-specification-pattern/" rel="nofollow">Entity Framework 4 POCO, Repository and Specification Pattern</a></li> <li><a href="http://huyrua.wordpress.com/2010/08/25/specification-pattern-in-entity-framework-4-revisited/" rel="nofollow">Specification Pattern In Entity Framework 4 Revisited</a></li> <li><a href="http://huyrua.wordpress.com/2010/12/16/entity-framework-4-poco-repository-and-specification-pattern-upgraded-to-ctp5/" rel="nofollow">Entity Framework 4 POCO, Repository and Specification Pattern [Upgraded to CTP5]</a></li> <li><a href="http://huyrua.wordpress.com/2011/04/13/entity-framework-4-poco-repository-and-specification-pattern-upgraded-to-ef-4-1/" rel="nofollow">Entity Framework 4 POCO, Repository and Specification Pattern [Upgraded to EF 4.1]</a></li> </ul>