この状況が発生したとしましょう。ストアドプロシージャから取得したデータを使用して、エンティティの1つをフィルタリングする必要があります。
var results = from c in db.Customer
join p in db.GetSPResults() on c.Id equals p.Id
select c;
私のContextクラスで私はこれを手に入れました:
public ObjectResult<Example> GetSPResults()
{
return (this as IObjectContextAdapter).ObjectContext.ExecuteFunction<Example>("Proc_Example");
}
これまでのところ、2つの問題が発生しています。
コードがExcecuteFunction行に到達すると、InvalidOperationExceptionが発生します。
FunctionImport'xxx'がコンテナ'xxx'に見つかりませんでした。
あなたたちが私がその問題を解決するのを手伝ってくれると仮定すると、そのように質問することは可能でしょうか?これらのストアドプロシージャの結果をコンテキストエンティティのように使用しますか?EFはそれを許可しないと思います。なぜなら、それはエンティティでも「一定の価値」でもないからです。
EF4.3を使用しています。