2009-03-27 3 views
0

私は手動ので、同じようEntity FrameworkのEntityConnectionを使用してストアドプロシージャを呼び出しています:DbDataReaderオブジェクトを何かに便利に変換するにはどうすればいいですか?

DbConnection storeConnection = entityConnection.StoreConnection; 
DbCommand command = storeConnection.CreateCommand(); 
command.CommandText = "sp_GetMyComplexData"; 
command.CommandType = CommandType.StoredProcedure; 

DbDataReader reader = command.ExecuteReader(); 

この理由は、エンティティフレームワークを簡単に直接テーブルまたはビューにマップしないエンティティをサポートしていないということです。私はこの記事(http://dotnet.dzone.com/news/mapping-stored-procedure)を見つけましたが、XMLの編集が必要です。これは避けたいものです。

私の場合、LEFT JOINを使用して2つのテーブルを結合するクエリを実行しています。その理由は、階層データのエクスポートをサポートしていないTelerik RadGridに結果をバインドしようとしているためですが、グループ化されたデータのエクスポートをサポートしているようです。

問題は、DbDataReaderオブジェクトをRadGridにバインドできる便利なものに変換する方法です。私はDALメソッドで単一オブジェクトまたはIQueryableオブジェクトを渡してきました。何か案は?前もって感謝します?

EDIT:

は、私はデータのみを必要としています。私は後で挿入、更新、削除を行う必要はありません。その読み取り専用ビューです。

答えて

1

RadGridについてはわかりませんが、GridViewなどの組み込みグリッドコントロールにそのデータウェアハウスをバインドできます。更新、削除、または挿入には使用できません。

それ以外の場合は、データテーブルの.Load()メソッドを使用してデータテーブルに変換できます。しかし、手動で挿入/更新/削除を行う方法を知る必要があります。

+0

私はtable.Load(読者)に感謝します。私が探しているものです。私はそれがどのように進むのかを教えてあげます... –

+0

これはまさに私が必要としていたものです。ありがとうジョエル! –

関連する問題