Pergunta

Depois de ler sobre Enitity Framework, eu tenho algumas perguntas:

1] O que é a melhor maneira de Entidades de transferência entre camadas? a] Eu preciso criar DTOs mais leves para este ou eu posso Efetivamente serializar o entitiy e transferi-lo?

b] se eu deve criar DTOs luz, para Efficency, e depois que eu vi o uso agradável de AutoMapper, i didnt entendo muito bem como ele salva extra de codificação ( se é seu objetivo ), Quero dizer, nós precisamos escrever as propriedades classe flattern (DTO), pelo que a sua só poupa o ctor.

2] Existe algum ponto Edifício entitiy Classes voltar de DTOs?

obrigado.

Foi útil?

Solução

Resposta a 1: A melhor maneira de transferir entidades entre as camadas depende da sua aplicação. Você pode criar DTOs que é a minha solução preferida embora a serialização de entidades é possível mas você precisa ter certeza este é realmente o que você quer fazer e lembre-se:

"Quando você usa serialização binária e WCF serialização contrato de dados, se o objeto sendo serializado tem objetos relacionados no gráfico de objeto, os objetos também são serializado. Serialização XML não serializar objetos relacionados."

AutoMapper funciona por propriedades de mapeamento automaticamente, em vez de ter que escrever todas as declarações de encanamento, tais como:

dto.id = entity.id;
...
all other dto assignment operations

-lo em breve ver a quantidade de código de canalização somam assim vai economizar um monte de esta = que linhas de código, especialmente se você tem aulas de vista, bem como dto objetos e eu achei o carpete que eu queria perfeitamente. Tanto quanto eu sou AutoMapper ciente só funcionará se os nomes são os mesmos entre a entidade e DTO e pode mapear entre os tipos dessas propriedades. Você pode adicionar regras de mapeamento para converter entre tipos que se o dto e entidade armazenar os dados em um tipo diferente.

Resposta a 2: Se você converter objetos para DTOs e modificá-los a níveis mais elevados, como você planeja salvá-los de volta através da estrutura de entidade? Normalmente você teria apenas que convertê-los de volta para as entidades relacionadas / criar uma nova entidade e submeter essas mudanças.

Outras dicas

Você quer olhar para RIA Serviços . Ele é construído para apenas esta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top