/ / Adicionando código aos POCOs gerados pelo Entity Framework 4 - entity-framework, poco, business-logic, domain-model

Adicionando código aos POCOs gerados pelo Entity Framework 4 - entity-framework, poco, business-logic, domain-model

A partir de um diagrama de entidade do EF 4 e usando modelos T4, é possível criar classes POCO que podem ser usadas dentro do Modelo de Domínio. O código gerado se parece com isto:

public partial class Product
{
public virtual int Id
{
get;
set;
}

public virtual string Name
{
get;
set;
}
//and so on
}

Existe alguma abordagem elegante para adicionar meu próprio códigopara implementar as propriedades? por exemplo, o nome setter eu gostaria de ser implementado, diminuindo todos os caracteres. Eu gostaria que meu código resistisse à regeneração repetida das classes POCO do diagrama EF.

Esse requisito é um pouco semelhante a adicionar código de validação às classes POCO. Esse problema já foi resolvido criando uma classe de validação separada e vinculando-a ao POCO por meio do MetadataType atributo. Essa classe de validação separada não é sobregravada pela regeneração repetida de POCOs a partir do diagrama EF.

Obrigado,

Lucian

Respostas:

1 para resposta № 1

Não, não há maneira fácil de fazer isso. Você não deve tocar no código gerado porque suas alterações serão excluídas após cada regeneração. Você opções são:

  • Escreva entidades e não use o gerador - você terá controle total sobre o código da entidade
  • Modifique o modelo T4 no gerador para adicionarseu código direto (isso pode ser muito difícil de generalizar) ou simplesmente adicionar chamadas a métodos parciais (você também deve declarar esses métodos no gerador) em getter e setter e em sua parte parcial da classe de entidade implementar métodos parciais que você precisa.