Eu faço uma classe para cada tabela, mais e quando for uma view no banco? como eu faço ?
Eu faço uma classe para cada tabela, mais e quando for uma view no banco? como eu faço ?
Você deve criar uma classe (Entidade) com todas as propriedades que você deseja e utilize a anotação Table para definir o nome da sua view, exemplo abaixo:
[Table("vw_PessoaFuncionario")]
public class PessoaFuncionario
{
public int Id { get ;set; }
public string Nome { get ; set;}
}
Mais eu tenho que colocar o DbSet PessoaFuncionario ???
Sim Marcelo! É necessário colocar um DbSet como uma propriedade no Contexto, uma vez que, você só conseguirá acessá-la (exemplo abaixo), declarando ela.
using(ctx = new Contexto)
{
ctx.PessoaFuncionario.FirstOfDefault(c => c.Id == 1)
}
Mais quando eu rodar um migration ele não vai acabar criando a tabela?
Não há necessidade de criar uma migração, uma vez que trata-se de view, ou seja, as tabelas já estão criadas. Mapeamento de view, caracteriza-se database first e não code first.