これらは私が書く必要がある方法です:
List<Test> test = new List<Test>();
public List<Test> GetData(int ReportId)
{
StringBuilder qr = new StringBuilder();
StringBuilder SQL = new StringBuilder();
DataTable dt;
qr.AppendLine(" select SQL");
qr.AppendLine(" from V_REPORT_SQL f");
qr.AppendLine(String.Format(" where REPORT_ID = '{0}'", ReportId));
dt = DataManager.GetDatadt(qr);
foreach (DataRow dr in dt.Rows)
{
SQL.Append(dr[0].DBStr());
}
dt = DataManager.GetData(SQL);
foreach (DataRow dr in dt.Rows)
{
Test t = new Test()
{
can i dynamically create and iterate over the properties and assign the datarow?
};
test.Add(t);
}
return test;
}
//これはDataContractです
[DataContract]
public class Test
{
}
テーブルV_Report_SQL
reportid | SQL
1 | select id,Name from table1
2 | select acctid,Name,date from table2
3 | select Name,location,date,XX,XX,XX from table3
私が解決しようとしている問題は、SQLを動的に取得するためにreportidを送信してから、SQLを渡して、DataTableのデータを取得することです。今、私はそれをとして送信する必要がありますlist<Test>
。Testクラスのプロパティを動的に作成できますか?例えば :
for report id 1
[DataMember]
public int Id { get; set; }
[DataMember]
public string Name { get; set; }
for report id 2
[DataMember]
public int acctid { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public DateTime date { get; set; }
サービスを使用するクライアントアプリケーションは、Silverlight4上に構築されています。
不明な点がある場合はお知らせください。更新できます。私が解決するために選んだルートについてはよくわかりません。この問題を解決できる他の方法はありますか?
アップデート:
更新しました。動的を使用しなくなりました。このルートが解決するかどうかはわかりません。