Olá, provavelmente muitos de nós desenvolvedores em algum
momento começamos a querer separar as responsabilidades em nossos projetos ,
mas em vista da dificuldade de retirar o modelo Code-First da pasta Model
nativa do projeto MVC, alguns desenvolvedores optam por deixar assim mesmo e
não ter dor de cabeça com os dataAnnotations, porém para a separação ser feita
é muito simples, siga as etapas abaixo:
Crie uma class
Library em sua solution, e referêncie a
dll do Entity Framework em seu projeto e também System.ComponentModel.DataAnnotations;.
Após ter feito isso vamos criar a classe Produto.cs
public partial class Produto
{
public int Id { get; set; }
public string Name { get; set; }
}
[MetadataTypeAttribute(typeof(Produto.Metadata))]
public partial class Produto
{
internal sealed class Metadata
{
private Metadata() { } // classes de Metadata
não devem ser instanciadas
//
Adicione os metadados de validação
[Required]
[StringLength(60)]
public string Name;
}
}
Note que criamos a classe como partial, com um simples
conhecimento de programação orientada a objetos sabemos como funciona uma
classe partial não é mesmo?
Obs: Só separamos para não sujarmos a primeira partial do
Produto com os Annotations, e setar tudo
que for metadado na outra partial, mas isso fica a critério de vocês, optei por
esta forma.
Vamos agora ao nosso Context
public class Context : DbContext
{
public DbSet<Produto> Produto { get; set; }
}
Nesta parte não
há nada de diferente então é só executar e ver o resultado:
É isso =]
Nenhum comentário:
Postar um comentário