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 に問題はありますか?