PDA

View Full Version : سوال: ریختن یک Stored Procedure در DataTable



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;
}


موفق باشید