PDA

View Full Version : تبدیل ردیف select شده با لینک به DataRow



alibabaei2
جمعه 22 اردیبهشت 1391, 22:18 عصر
با سلام
با استفاده از linq یک ردیف از جدولم رو select کردم

var n = (from u in DataContext.Context.Users where u.UserID == UserID
select u).SingleOrDefault();


حالا می خوام متغیر n رو درون یک DataRow بریزم
چطوری باید convert کنم

alibabaei2
شنبه 23 اردیبهشت 1391, 12:29 عصر
به u دسترسی ندارم فقط به n دسترسی دارم که وقتی می نویسم
(DataRow)n
خطا می گیره
Cannot convert type Model.user to Data.DataRow

Mahmoud.Afrad
شنبه 23 اردیبهشت 1391, 13:51 عصر
اگر اشتباه نکنم این رو در یک تابع تعریف کرده بودید در یک تاپیک دیگه دیدم.شما همون n رو return کنید نیازی به تبدیل به datarow نیست. نوع بازگشتی تابع رو از نوع u تعریف کنید. هر جا هم خواستید تابع رو فراخوانی کنید یک شئ از u بسازید و مقدار بازگشتی رو داخلش قرار بدید. با . گذاشتن بعد از n به فیلدهای اون دسترسی دارید.
مثال:


public tbl_city objCity(int codeCity)
{
var n = (from tbl_city in dtct.tbl_cities where tbl_city.code_city == 1 select tbl_city).SingleOrDefault();
return n;
}


استفاده از این تابع:


tbl_city a = objCity(1);
textBox1.Text = a.city_name;

alibabaei2
پنج شنبه 04 خرداد 1391, 13:37 عصر
مشکل قبلی حل شد اما حالا تعدادی دریف رو select می کنم دیگه نمیشه return n
رو بنویسم و ارور میده
var n = (from c in DataContext.Context.tbl_City
select c).Take(3)

اینجا باید چی رو return کنم

alibabaei2
پنج شنبه 04 خرداد 1391, 14:28 عصر
مشکل حل شد
جنس خروجی متد رو تغییر دادم

public IEnumerable<Clubs> SelectTop(int topNumber)
{
var n = (from c in DataContext.Context.tbl_City
orderby c.CityID descending
select c).Take(3);

return n;
}