ورود

View Full Version : سوال: ایجاد datatable یا dataset از کوئری linq



mahsa.admin
دوشنبه 05 مرداد 1394, 13:51 عصر
با سلام
از دوستان کسی هست بدونه چطور میشه یک کوئری که با لینک درست شده رو به دیتا تیبل یا دیتا ست تبدیل کنم تو سایت چند با مطرح شده ولی به جواب درستی نرسید
مثلا کوئری زیر رو میخام به دیتا تیبل تبدیل کنم
Var Search=db.Book.select(p=>p)
Datatable dt=new Datatable();

khokhan
دوشنبه 05 مرداد 1394, 14:08 عصر
با سلام
از دوستان کسی هست بدونه چطور میشه یک کوئری که با لینک درست شده رو به دیتا تیبل یا دیتا ست تبدیل کنم تو سایت چند با مطرح شده ولی به جواب درستی نرسید
مثلا کوئری زیر رو میخام به دیتا تیبل تبدیل کنم
Var Search=db.Book.select(p=>p)
Datatable dt=new Datatable();

...........................................



public DataTable ToDataTable(System.Data.Linq.DataContext ctx, object query)
{
if (query == null)
{
throw new ArgumentNullException("query");
}

IDbCommand cmd = ctx.GetCommand(query as IQueryable);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = (SqlCommand)cmd;
DataTable dt = new DataTable("sd");

try
{
cmd.Connection.Open();
adapter.FillSchema(dt, SchemaType.Source);
adapter.Fill(dt);
}
finally
{
cmd.Connection.Close();
}
return dt;
}

mahsa.admin
چهارشنبه 07 مرداد 1394, 09:03 صبح
با تشکر از پاسخ شما
در این کلاس در یکی از آرگومان System.Data.Linq.DataContext باید یک رفرنس اد کنی که نمیدونم چیه از طرفی بازگشت به ado.net میشه یجورایی این کلاس.....
+++++++++++++++++++++++++++++++++++++++
حالا من از قبل بارها دیدم که ازروشزیر استفاده شده که درآن CopyToDataTable برام مبهم بود که کلاسی که ساخته شده یا آماده خوده فریم ورک بود تا جایی که متوجه شدم اگر از کتابخانه using System.Data.DataSetExtensions; را اد کنم مشکل حل میشود مسئله ای که هست وقتی این رفرنس را اد واستفاده میکنم خطایی مانند شکل ضمیمه دارم

Var Search=db.Book.select(p=>p)

()DataTable dt = new DataTable
()dt = search1.CopyToDataTable