Carregar objetos no contexto

Cenário:

Aplicação em 3 camadas, sendo elas:

APRESENTAÇÃO:

this.Contrato = ContratoNegocio.Obter(codContrato);

NEGOCIO:

public Contrato Obter(int codContrato)
{
return ContratoRepositorio.Obter(codContrato);
}

REPOSITÓRIO (Onde encontra-se o entity)

public Contrato Obter(int codContrato)
{
using (DBEntities e = new DBEntities())
{
e.Configuration.ValidateOnSaveEnabled = false;
e.Configuration.LazyLoadingEnabled = false;
e.Configuration.AutoDetectChangesEnabled = false;
e.Configuration.ProxyCreationEnabled = false;

Contrato contrato = e.Contrato

       .Include(“Acesso”)
       .Include(“Advogado”)
       .Include(“ContratoEndereco”)       
       .Include(“ContratoEndereco.Cep”)
       .Include(“ContratoEndereco.Cep.Bairro”)
       .Include(“ContratoEndereco.Cep.Bairro.Cidade”)
       .Include(“ContratoEndereco.Cep.Bairro.Cidade.Estado”)
       .Include(“Situacao”)

.AsNoTracking()
.FirstOrDefault(p => p.codContrato == codContrato);

return contrato;
}
}

As classes que estão referenciadas nos includes serão carregadas dentro do objeto [Contrato], elas fazem parte da sua composição (No banco de dados são FKs), possivelmente tais classes carregadas serão utilizadas depois nos procedimentos necessários.

Quando o objeto [Contrato] for obtido na camada de apresentação ele estará fora do contexto do Entity, pois foi dado [Dispose]  no contexto quando finalizou o [Using] na Repositório.

Links mvc & EF codefirst

Segue abaixo alguns links para apoio no desenvolvimento de aplicações utilizando MVC & EF Codefirst

http://www.entityframeworktutorial.net/
http://msdn.microsoft.com/pt-br/library/hh972463.aspx
http://msdn.microsoft.com/en-us/data/jj574232.aspx
http://blogs.msdn.com/b/webdev/archive/2013/11/01/tutorial-series-updated-for-entity-framework-6-code-first-with-mvc-5.aspx
http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc
http://weblogs.asp.net/manavi/archive/2011/03/27/associations-in-ef-4-1-code-first-part-1-introduction-and-basic-concepts.aspx
http://weblogs.asp.net/ricardoperes/archive/2013/04/29/entity-framework-code-first-relations.aspx
http://www.asp.net/mvc/tutorials/mvc-5
http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application
http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-a-more-complex-data-model-for-an-asp-net-mvc-application
http://weblogs.asp.net/shijuvarghese/archive/2013/03/03/generating-entity-data-model-diagram-from-ef-code-first-dbcontext.aspx
http://codefirst.codeplex.com/
http://efmvc.codeplex.com/
http://imasters.com.br/linguagens/asp/asp-net-mvc-realizando-a-paginacao-de-dados/

sempre atualizando…