0

不明な量のデータを返す SP があります。クエリの例を次に示します。

マイSP:

WHILE (@counter <= @SomeParameter)
BEGIN
   Select *
   From tblFoo
   Where tblFoo.Counter=@counter

   @counter=@counter+1
END

データを効率的に保存するために、 DataSet を使用したいと思います。これは、各 Select の結果をそれぞれの DataTable に保存します。

私のアプリケーションは EF 5 に基づいているため、dbContextオブジェクトを使用して SP を呼び出そうとしました。これが私がやろうとしたことです。

var ds=db.Database.SqlQuery<DataSet>("MySP @counter @SomeParameter", value1,value2);

それは適切に機能していないようです。

この問題を解決するために従来のADO.NET を使用することを考えSqlDataAdapterました。dbContextSqlDataAdapter

注: この問題で Entities Collection ではなく DataSet を使用している理由は、SP から取得した結果が異なる列を持つ可能性があるため、Entities Collection が機能するかどうかわからないためです。

Entities (または SqlAdapter) を使用して SP を呼び出し、DataSet の各テーブルに SP からの各 Select の結果を入力する方法を知りたいです。

私は EF を始めたばかりなので、何か間違ったことを考えたり実行したりしている場合は、ヒントをいただければ幸いです。

4

1 に答える 1