thilanka ishara

thilanka ishara

  • NA
  • 16
  • 10.7k

Linq to Datatable

Nov 3 2014 7:03 AM
Hi,
in Other places that i used this method working perfectly 
im trying to Convert Linq result set to data table but there is an error saying "Parameter miss match"
 
i am getting result from a Stored Procedure
 
here is my linq code
 
public dynamic getLatestDetails()
{
var Query = (BEF.TransferEventLogToTxt("Latest", null, null, null, ColumnsSet)).ToList();
return LINQToDataTable(Query);
}
 
public DataTable LINQToDataTable<T>(IEnumerable<T> varlist)
{
DataTable dtReturn = new DataTable();
// column names
PropertyInfo[] oProps = null;
if (varlist == null) return dtReturn;
foreach (T rec in varlist)
{
if (oProps == null)
{
oProps = ((Type)rec.GetType()).GetProperties();
foreach (PropertyInfo pi in oProps)
{
Type colType = pi.PropertyType;
if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition()
== typeof(Nullable<>)))
{
colType = colType.GetGenericArguments()[0];
}
dtReturn.Columns.Add(new DataColumn(pi.Name, colType));
}
}
DataRow dr = dtReturn.NewRow();
foreach (PropertyInfo pi in oProps)
{
dr[pi.Name] = pi.GetValue(rec, null) == null ? DBNull.Value : pi.GetValue
(rec, null);
}
dtReturn.Rows.Add(dr);
}
return dtReturn;
}
 
please help,  

Answers (1)