私は、ダッパーとストアドプロシージャを使用して動的結果を返す以下の方法を試しています。正しい方法でやっていますか?で、私は、任意のテーブル名を通過し、それが結果/ records.So、レコード、明らかに私の数を返すことに基づき、列が渡されたテーブル名ごとに変化するであろうどのような私のストアドプロシージャ行うmvcでdapperを使用した動的結果
using (IDbConnection dbConnection = Connection)
{
dbConnection.Open();
var result = dbConnection.Query<dynamic>("LMSSP_GetSelectedTableData",
new
{
TableName = TableName,
LangaugeID = AppTenant.SelectedLanguageID,
UserID = AppTenant.UserID
}, commandType: CommandType.StoredProcedure).ToList();
if (result != null)
{
// Added just for checking the data
foreach (var item in (IDictionary<string, object>)result.FirstOrDefault())
{
string key = item.Key;
string value = item.Value.ToString();
}
}
}
。
これを達成するために、私はdapperと一緒に動的キーワードを使用しました。
私の質問は、どのようにモデルとして表示するためにこのデータを渡し、プロパティ/列データ型ごとにビュー上のコントロールをレンダリングすることです。列OR PropertyInfoのデータ型を取得できますか?
しかし、dapperがデータベースからレコードを取得すると、dapper行の型として返されますか?
これは、格納されたprocが入力に応じて異なるスキーマを返す場合のデータベース設計が悪いことを示しています。 – Rob
@Robそれは、ほんの僅かのテーブル、主にシステムテーブルです。解決策を教えてもらえますか? – Rohit