PDA

View Full Version : دریافت مقادیر از تابع



spicirmkh
سه شنبه 02 اسفند 1390, 11:22 صبح
سلام
برنامه زیر مقداری از یک تایع می گیرد


e.Result = (from F in DataContext.UsersContext.tblFavorites
select new { Title = test() }).ToList();


protected string test()
{
return "A";
}



زمان اجرا پیغام خطا زیر را می دهد :
Entities does not recognize the method 'System.String

چگونه می توانم از مقادیر برگشتی از تابع در دستور Selecte استفاده کنم
با تشکر

mehdi.mousavi
سه شنبه 02 اسفند 1390, 15:48 عصر
سلام.
قبل از خط یک در کد بالا، ابتدا مقدار بازگشتی تابع test رو در متغیری موقت بریزید،
سپس از اون متغیر موقت برای انجام عمل Assignment استفاده کنید تا مشکل رفع بشه.

موفق باشید.

spicirmkh
سه شنبه 02 اسفند 1390, 17:08 عصر
سلام.
قبل از خط یک در کد بالا، ابتدا مقدار بازگشتی تابع test رو در متغیری موقت بریزید،
سپس از اون متغیر موقت برای انجام عمل Assignment استفاده کنید تا مشکل رفع بشه.

موفق باشید.

مقداربرگشتی نمی توانم بیاورم چون من می خواهم از داده های Linq استفاده کنم
مثلا



e.Result = (from F in DataContext.UsersContext.tblFavorites select new { Title = test(F.Name, F.Family) }).ToList();



با تشکر

mehdi.mousavi
سه شنبه 02 اسفند 1390, 18:16 عصر
مقداربرگشتی نمی توانم بیاورم چون من می خواهم از داده های Linq استفاده کنم

بسیار خوب، بدین شکل عمل کنید:

var lst = (from item in DataContext.UsersContext.tblFavorites.ToList() select new { Title = Test(item.FirstName, item.LastName) }).ToList();

موفق باشید.

Javad_Darvish_Amiry
چهارشنبه 03 اسفند 1390, 00:02 صبح
خوب اینطوری اگه ایشون 10 تا فیلد تو tblFavorites داشته باشن اول تمام 10 فیلد واکشی میشه و بعد از بین اونها فقط از FirstName و LastName استفاده میکنه. فکر میکنم اگه اینطوری عمل بشه کارایی بهتری داره:



var lst = (from item in DataContext.UsersContext.tblFavorites
select new { item.FirstName, item.LastName }
).ToList()
.Select(t => new { Title = Test(t.FirstName, t.LastName) })
.ToList();

mehdi.mousavi
چهارشنبه 03 اسفند 1390, 11:15 صبح
خوب اینطوری اگه ایشون 10 تا فیلد تو tblFavorites داشته باشن اول تمام 10 فیلد واکشی میشه و بعد از بین اونها فقط از FirstName و LastName استفاده میکنه.

کاملا حق با شماست. اصلا حواسم به Projection نبود!