0

EF 5.0 を使用してエンティティ モデルを返すストアド プロシージャを実行しようとしています。

プロシージャが実行されると、次のエラーが発生します。

データ リーダーは、指定された「SCTVModel.Cidades」と互換性がありません。タイプ 'NrSeqCidade' のメンバーには、データ リーダーに同じ名前の対応する列がありません。

私のC#コード:

public IEnumerable<Cidades> GetByUf(string uf)
{
    _context.ContextOptions.LazyLoadingEnabled = false;
    return _context.GetCidadesByUf(uf);
}

public ObjectResult<Cidades> GetCidadesByUf(global::System.String uF)
{
    ObjectParameter uFParameter;
    if (uF != null)
    {
        uFParameter = new ObjectParameter("UF", uF);
    }
    else
    {
        uFParameter = new ObjectParameter("UF", typeof(global::System.String));
    }

    return base.ExecuteFunction<Cidades>("GetCidadesByUf", uFParameter);
}

NrSeqCidade がモデル内の列の名前を変更したため、このエラーが発生していると思います。

ストアド プロシージャは、データベース エンジンから呼び出すと正常に動作します。複合型を返す関数インポートを呼び出すと、正常に動作します

ストアド プロシージャの列の名前が変更されたエンティティを返すときに EF に問題はありますか?

4

0 に答える 0