PDA

View Full Version : حرفه ای: نحوه تبدیل نوع Iquryable یا Isingleresult به datatable



zarrinnegar
چهارشنبه 15 تیر 1390, 21:47 عصر
از دوستانی که تجربه برنامه نویسی با linq دارند میخوام که کمک کنن و خروجی یک linq رو به datatable تبدیل کنن

من این کد رو نوشتم ولی موقع اجرا خطا میده



var db = new dataclasses();
var db1 = db.persons.select(c=>c);

datatable table = new datatable();
table = (datatable)db1;
datagrid1.datasource=table;




شاید بگین که همون db1 رو بزاری توی datasource جواب میده اینو میدونم ولی برای یه کاری میخوام تبدیل کنم به datatable بعد ازش استفاده کنم

zarrinnegar
پنج شنبه 16 تیر 1390, 01:15 صبح
یعنی کسی نیست جواب بده ؟ الان همه خوابن؟:متفکر:

mmd2009
پنج شنبه 16 تیر 1390, 03:54 صبح
با سلام

من به این صورت براتون نوشتم که شما هم عمل بکنید


private void Form1_Load(object sender, EventArgs e)
{
using (LTSMyDataDataContext LTS = new LTSMyDataDataContext())
{
var query = from Col in LTS.tblCols
select Col;

this.dataGridView1.DataSource = ToDataTable(LTS, query).DefaultView; ;
}
}

private DataTable ToDataTable(DataContext ctx, object query)
{

IDbCommand cmd = ctx.GetCommand(query as IQueryable);
SqlDataAdapter dba = new SqlDataAdapter();
dba.SelectCommand = (SqlCommand)cmd;
DataTable dt = new DataTable();
dba.Fill(dt);
return dt;
}


موفق باشید