vbiman
چهارشنبه 18 آبان 1390, 10:43 صبح
سلام
من یک stored procedure دارم که کسانی که نامشان علی هست میاره آیا حاصل این ST رو میشه در یک DataTable ریخت با استفاده از linq یا نه؟:متفکر:
mmd2009
پنج شنبه 19 آبان 1390, 21:48 عصر
با سلام
شما میتونید با استفاده از این متد عمل Convert رو انجام بدید :
public DataTable LINQToDataTable<T>(IEnumerable<T> varlist)
{
var dtReturn = new DataTable();
PropertyInfo[] oProps = null;
if (varlist == null) return dtReturn;
foreach (T rec in varlist)
{
if (oProps == null)
{
oProps = rec.GetType().GetProperties();
foreach (var pi in oProps)
{
var colType = pi.PropertyType;
if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition()
== typeof(Nullable<>)))
{
colType = colType.GetGenericArguments()[0];
}
dtReturn.Columns.Add(new DataColumn(pi.Name, colType));
}
}
var dr = dtReturn.NewRow();
foreach (var pi in oProps)
{
dr[pi.Name] = pi.GetValue(rec, null) ?? DBNull.Value;
}
dtReturn.Rows.Add(dr);
}
return dtReturn;
}
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.