Pergunta
Esta é a minha primeira pergunta, seja gentil :). Im trabalhando em um projeto com algum tipo de distribuídos architecture.Im tentando fazer o seguinte:
-
Eu tenho um Acesso a Dados Layer que usos LINQ2SQL
-
Eu tenho um Camada de Serviço que é um proxy para o Data Access Layer.
-
Eu tenho um Camada de Negócios que chama a Camada de Serviço para Entidades.
A questão é como posso transferir essas entidades LINQ2SQL à minha camada de negócios?
-
Eu quero modificar esses objetos em a camada de negócios e fazer o de volta de viagem com a camada de serviço e re-transformar-los para LINQ2SQL entidades a persistir as mudanças na banco de dados.
Im desculpe se estou pedindo alguma imposible, mas estou tentando descobrir a maneira beest mas eu não posso obter algo inteligente me:)
Atenciosamente!
Solução
Parece-me que você tem 2 contexto diferente, o contexto BusinessLogic eo domínio acesso a dados. Você provavelmente precisará de um mapeador de transformador / contexto para converter de um para outro e vice-versa.
classe pública ContextMapper { pública BusinessLogic.Customer Convert (cliente DataAccess.Customer) {
} pública DataAccess.Customer Convert (cliente BusinessLogic.Customer) {
}
Você também pode escrever estas como métodos de extensão, se você gosta ??p>
}
Outras dicas
Parece que você precisa NHibernate ou algum outro ORM mais avançado.