PDA

View Full Version : سوال: نوع خروجی تابع؟



usef64
دوشنبه 06 خرداد 1392, 09:45 صبح
با سلام.
من میخوام تابع برنامم، خروجیش این کوءری باشه؟

from p in myEnty.tblPers select new {p.PtID , p.PName };

IQueryable رو میشه با دو متغیر استفاده کرد؟نوع خروجی تابع من چی باید باشه؟

mehran_sh_t
دوشنبه 06 خرداد 1392, 14:58 عصر
تا جایی که من می دونم برای این کار باید یک کلاس جدید تعریف کنید:
مثلا اسم کلاس Test هستش

from p in myEnty.tblpers select new Test(){ID = p.PtID, Name = p.PName}

tooraj_azizi_1035
دوشنبه 06 خرداد 1392, 19:42 عصر
نمی تونید چنین کاری بکنید، از لیست استفاده کنید:
public List<object> TheMethod(SomeParameter)
{
using (MyDC TheDC = new MyDC())
{
var TheQueryFromDB = (....
select new { SomeVariable = ....,
AnotherVariable = ....}
).ToList();

return TheQueryFromDB ;
}
}

usef64
سه شنبه 07 خرداد 1392, 11:39 صبح
هیچ کدوم از این راههای بالا جواب نداد.
اصلا کلا چه جوری میشه خروجی select رو ریخت توی یه چیزی مثل data table؟

tooraj_azizi_1035
سه شنبه 07 خرداد 1392, 12:03 عصر
یعنی چی جواب نداد؟

// Bind the System.Windows.Forms.DataGridView object
// to the System.Windows.Forms.BindingSource object.
dataGridView.DataSource = bindingSource;

// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);

DataTable orders = ds.Tables["SalesOrderHeader"];

// Query the SalesOrderHeader table for orders placed
// after August 8, 2001.
IEnumerable<DataRow> query =
from order in orders.AsEnumerable()
where order.Field<DateTime>("OrderDate") > new DateTime(2001, 8, 1)
select order;

// Create a table from the query.
DataTable boundTable = query.CopyToDataTable<DataRow>();

// Bind the table to a System.Windows.Forms.BindingSource object,
// which acts as a proxy for a System.Windows.Forms.DataGridView object.
bindingSource.DataSource = boundTable;

Mahmoud.Afrad
سه شنبه 07 خرداد 1392, 17:27 عصر
خروجی رو از نوع IEnumerable بگیر:

private IEnumerable Getlist()
{
return from p in myEnty.tblPers
select new { p.PtID, p.PName };
}