EntityFrameworkでlinqを実行している列が無効です

私はこのクラスを作成しました

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();
    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:無効な列名 'Perfil_FK_ID'。何が問題になりますか?私のコードは

0

1 答え

タイプ Perfil のナビゲーションプロパティ Perfil_FK を作成しました。しかし、その関係で使用する外部キー列を指定していません。したがって、EFでは、外部キーの列名が Perfil_FK_ID であると想定しています。

Usuario Perfil の関係についての情報はありませんでした。モデルに応じて関係を設定する方法はいくつかあります。

1
追加された