2

ストアド プロシージャを一般的に実行するにはどうすればよいですか? 私は試した:

_context.Set<TEntity>();

次のような埋め込み SQL を避けたい:

context.Database.SqlQuery<TEntity>(storedProcedureName);

ただし、ストアド プロシージャは Type ではなく Function を介してアクセスされるため、これは機能しません。関数マッピングを介して作成/アクセスも試みました。返される結果の複合型は存在しますが、これを使用して結果自体を取得することはできません。

デリゲートが必要ですか、それともどこかにサポートがありますか?

明確にするために、私は次のようなものを作成したいと考えています....

public IEnumerable<TEntityResult> ReadSpAll<TEntity,TEntityResult>(IEnumerable<SqlParameter> sqlParameters) 

TEntityストアド プロシージャでTEntityResultあり、複雑な戻り値の型です。

4

1 に答える 1

0

「インポート関数を使用してストアド プロシージャをマップする」@ http://msdn.microsoft.com/en-us/data/gg699321.aspxを参照してください。

のようなコードの場合

var context = new AWEntities();
ObjectResult<OrderDetail> orderDetailEnumerable = context.GetDetailsForOrder(71796);
List<OrderDetail> details = orderDetailEnumerable.ToList();
于 2013-08-12T14:43:46.137 に答える