この問題を解決する最も簡単で簡単な方法は何ですか?私は2つの一時テーブルを返す複雑なストアドプロシージャを持っています。Entity Framework、ストアドプロシージャ、複数の一時テーブルを返すか?
これらのテーブルをエンティティフレームワークのedmxファイルに表示するにはどうすればよいですか?それとも不可能なのでしょうか?最終結果両方のテンポラリテーブルをそれぞれのモデルに入れる必要があります。 SPは2つの引数を入力として受け入れます。
現在このメソッドを使用しています。しかし、1つのテーブルだけが返され、カラム名も取得されません。それらは配列オブジェクトとして戻ってくるだけです。理想的で退屈でハッキーではないモデルに手動でマップする必要があります。
SqlCommand command = new SqlCommand("returnTwoTablesSP", connection);
command.CommandType = System.Data.CommandType.StoredProcedure;
command.Parameters.AddWithValue("@DataDateFrom", string.Empty);
command.Parameters.AddWithValue("@DataDateTo", string.Empty);
List<TwoTableModel> tableList = new List<string>();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
object[] values = new object[reader.FieldCount];
reader.GetValues(values); // This returns the columns but just from
the 1st temp table only.
var model = new TwoTableModel()
{
UserId = values[0].ToString(), //Each column field
Name = values[1].ToString(),
};
tableList.Add(model);
}
return tableList;
は、ストアドプロシージャを表示することができますか? –
SPは非常に長くなりすぎていますが、2つのテーブルを返すが、投稿する際に問題が発生する可能性があります。 1つは、名前、dobなどのヘッダーテーブルです。 2番目は、ユーザーに関する詳細情報を持つユーザーIDによって結合された詳細テーブルです。データベース内のさまざまなテーブルからそれぞれのデータを取得します。 – CodeMan03
次のデータセットを読み込みます。 'reader.NextResult();' –