DataTablez转List对象效率慢的问题.

#region 代码生成部分

 DateTime? tmp = null;
/*StringBuilder codeStr = new StringBuilder("");
foreach(DataColumn col in dt.Columns)
{
string fiedType = col.DataType.Name.ToString().ToLower();
codeStr.AppendLine("");
codeStr.Append(col.ColumnName+"=");
switch (fiedType)
{
case "string":
codeStr.Append($"row["{col.ColumnName}"]==DBNull.Value?null:row["{col.ColumnName}"].ToString()");
break;
case "decimal":
codeStr.Append($"row["{col.ColumnName}"]==DBNull.Value?0:Convert.ToDecimal(row["{col.ColumnName}"])");
break;
case "int":
codeStr.Append($"row["{col.ColumnName}"]==DBNull.Value?0:Convert.ToInt32(row["{col.ColumnName}"])");
break;
case "datetime":
codeStr.Append($"row["{col.ColumnName}"]==DBNull.Value?tmp :Convert.ToDateTime(row["{col.ColumnName}"])");
break;
default:
{
throw new Exception("");
}
}
codeStr.Append( ",");
}
string sss = codeStr.ToString();*/
#endregion

//CONVERS_YSQZ_YEARCOMPARED_VIEWEntity  实体类

//1.该方法返回的数据为  IEnumerable<CONVERS_YSQZ_YEARCOMPARED_VIEWEntity>

//2.把生成的代码部分copy入下面的赋值部分.

return dt.AsEnumerable().Select(row => new CONVERS_YSQZ_YEARCOMPARED_VIEWEntity
{

   //字段

   VERSION = row["VERSION"] == DBNull.Value ? null : row["VERSION"].ToString(),
   NAME = row["NAME"] == DBNull.Value ? null : row["NAME"].ToString(),

 }).ToList();

原文地址:https://www.cnblogs.com/TanYong/p/13652560.html