C#Datetableをエンティティリストセットインスタンスに変換
1368 ワード
/// Datetable list
public List ConvertDataTableToList(DataTable dt){
//
List models = new List();
string tempName = "";
foreach (DataRow dr in dt.Rows)
{
Model model = new Model();
//
PropertyInfo[] propertys = model.GetType().GetProperties();
foreach (PropertyInfo pi in propertys)// Model
{
tempName = pi.Name; // Model
if (dt.Columns.Contains(tempName)) // DataTable
{
// Model set
if (!pi.CanWrite) continue;
object value = dr[tempName];// DataTable
if (value != DBNull.Value)// ,DBNull.Value, ,DBNull.Value , null
{
pi.SetValue(model, value, null);//SetValue : https://blog.csdn.net/weixin_42263618/article/details/103748279
}
}
}
models.Add(model);
}
return models;
}
}