这些是我需要写的方法:
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]
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
我要解决的问题是我发送reportid 以动态获取sql,然后传递sql 并获取DataTable 中的数据。现在我需要将其发送为list<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; }
使用该服务的客户端应用程序是在 silverlight 4 上构建的。
如果我不清楚,请告诉我,我可以更新它。我不确定我选择解决的路线。有没有其他方法可以解决这个问题。
更新:
我已经更新了,我不再使用动态,不确定这条路线会解决。