Melhor resposta
POCO é simples objetos CLR (Common Language Runtime) . É basicamente uma entidade em um domínio. Na estrutura de entidade, geralmente é útil no primeiro modelo de código, não no primeiro modelo de banco de dados. Esta classe não herda a funcionalidade de nenhuma estrutura ou tecnologia específica. É uma classe pública simples e contém apenas propriedades e métodos. Esses métodos não implementam lógica persistente, como salvar e recuperar dados do banco de dados. Essas classes também são chamadas de classes ignorantes de persistência. Basicamente, ele atua como uma camada para se comunicar com as linhas e colunas da tabela do banco de dados.
Exemplo de classe Poco
public class Group
{
public int ID {get; conjunto; }
string pública GroupName {get; conjunto; }
public ApplicationUser Member {get; conjunto; }
string public GroupDescription {get; conjunto; }
public ICollection
}
POCO se comporta melhor do que o DTO [Design]
Um DTO ” s único propósito é transferir estado e não deve ter nenhum comportamento. Veja Martin Fowler “s explicação de um DTO para um exemplo do uso deste padrão.
Considerando que, A POCO segue as regras de OOP. Ele deve (mas não precisa) ter estado e comportamento. POCO vem de POJO, cunhado por Martin Fowler [ anedota aqui ]. Ele usou o termo POJO como uma forma de tornar mais sexy rejeitar as implementações EJB pesadas do framework. POCO deve ser usado no mesmo contexto no .Net. Não deixe que os frameworks ditem seu design do objeto.
Para saber mais sobre .NET e Entity framework, verifique meu canal no youtube
Resposta
POCOs (objetos CLR simples e antigos) são simplesmente entidades do seu domínio. Normalmente, quando usamos a estrutura de entidades, as entidades são geradas automaticamente para você. Isso é ótimo, mas infelizmente esses entidades são intercaladas com a funcionalidade de acesso ao banco de dados que é claramente contra o SOC (Separação de interesse). POCOs são entidades simples, sem qualquer funcionalidade de acesso a dados, mas ainda fornecem os recursos de todos os EntityObject funcional itações como
- Carregamento lento
- rastreamento de alterações
Este é um bom começo para isso
Você também pode gerar POCOs facilmente a partir de seu projeto de estrutura de entidade existente usando geradores de código.