Мне нужно знать, что я делаю неправильно, потому что сгенерированный запрос не совпадает с атрибутами таблицы базы данных, и я думаю, что у меня был классный тип, а также сопоставления. Вот мой код
public class Usuario
{
#region Atributos
private int _intID = 0;
private Perfil _Perfil_FK = null;
private String _strNombre = "";
private String _strPassword = "";
#endregion
#region Propiedades
public int ID
{
get { return _intID; }
set { _intID = value; }
}
public Nullable<int> IDPerfil_FK { get; set; }
public virtual Perfil Perfil_FK
{
get { return _Perfil_FK; }
set { _Perfil_FK = value; }
}
public String Nombre
{
get { return _strNombre; }
set { _strNombre = value; }
}
public String Password
{
get { return _strPassword; }
set { _strPassword = value; }
}
#endregion
}
Мой тест был только таким _db.Usuario()
Сгенерированный запрос Sql
SELECT
[Extent1].[IDUsuario] AS [IDUsuario],
[Extent1].[IDPerfil_FK] AS [IDPerfil_FK],
[Extent1].[Nombre] AS [Nombre],
[Extent1].[Password] AS [Password],
[Extent1].[PerfilID] AS [PerfilID] <-- this attribute doesn't exit's
FROM [dbo].[Usuario] AS [Extent1];
Вот мой класс контекста БД
public class MasterPageAtentoDB : DbContext
{
public DbSet<Pagina> Pagina { get; set; }
public DbSet<Perfil> Perfil { get; set; }
public DbSet<Permiso> Permiso { get; set; }
public DbSet<Usuario> Usuario { get; set; }
protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder)
{
modelBuilder.Entity<Usuario>().Property(r => r.ID).HasColumnName("IDUsuario");
modelBuilder.Entity<Pagina>().Property(r => r.ID).HasColumnName("IDPagina");
modelBuilder.Entity<Permiso>().Property(r => r.ID).HasColumnName("IDPermiso");
modelBuilder.Entity<Perfil>().Property(r => r.ID).HasColumnName("IDPerfil");
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
}
Моя база данных Таблица