tva*_*son 10
将每个DataRow传递给类构造函数(或使用getter/setter)并将每个列转换为相应的属性.小心可空列可以正确提取它们.
public class POCO
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime? Modified { get; set; }
...
public POCO() { }
public POCO( DataRow row )
{
this.ID = (int)row["id"];
this.Name = (string)row["name"];
if (!(row["modified"] is DBNull))
{
this.Modified = (DateTime)row["modified"];
}
...
}
}
Run Code Online (Sandbox Code Playgroud)
数据表通常包含许多行 - 您是否要将每一行转换为对象实例?
在这种情况下,您可以例如向POCO对象添加一个构造函数,该构造函数将接受DataRowas参数,然后从中提取以下部分DataRow:
public YourPOCO(DataRow row)
{
this.Field1 = row["Field1"].ToString();
...
this.FieldN = Convert.ToInt32(row["FieldN"]);
}
Run Code Online (Sandbox Code Playgroud)
依此类推,然后在DataTable.Rows集合中的每一行上调用该构造函数:
List<YourPOCO> list = new List<YourPOCO>();
foreach(DataRow row in YourDataTable.Rows)
{
list.Add(new YourPOCO(row));
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以基于此"YourPOCO"类型创建ASP.NET MVC视图或部分视图,并使用"List"模板在类似列表的显示中创建"YourPOCO"实例列表.
渣
| 归档时间: |
|
| 查看次数: |
5047 次 |
| 最近记录: |