2011-10-27 46 views
0

無效列我創建此類執行LINQ用的EntityFramework

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 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 
} 

在我的上下文我所限定的本屬性

protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder) 
{ 
    modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>(); 
    base.OnModelCreating(modelBuilder); 
} 

和在我的代碼一些部分我這樣做LINQ

Usuario user = (from U in _db.Usuario where ((U.Nombre == model.UserName) && (U.Password == encripPassword)) select U).First();

造成這個exepcion System.Data.SqlClient.SqlException: Invalid column name 'Perfil_FK_ID'. Wh在可能是問題?,對我來說它的代碼是

回答

1

您已創建Perfil類型的導航屬性Perfil_FK。但是您沒有指定與該關係一起使用的外鍵列。所以EF按照慣例假設外鍵列名是Perfil_FK_ID

您還未提供任何有關UsuarioPerfil之間的關係的信息。取決於您的模型,配置關係的方法很少。