View Full Version : نحوه استفاده از عبارات لامبدا
Yanehsar
سه شنبه 04 تیر 1392, 11:28 صبح
سلام دوستان
به تازگی شروع به یادگیری linq کردم می خواستم بدونم چطوری باید از عبارات لامبدا استفاده کنم ؟آیا باید Using خاصی (به جزء Linq) را فراخوانی کنیم .
106141
mthreat.info
سه شنبه 04 تیر 1392, 11:37 صبح
از c=>c تو کدهات استفاده کن
مثلا
db.TSazmans.Select(c=>c.ID)
Yanehsar
سه شنبه 04 تیر 1392, 12:11 عصر
از c=>c تو کدهات استفاده کن
مثلا
db.TSazmans.Select(c=>c.ID)
ممنونم اما وقتی دستور Select تی که شما استفاده کردید برای من نمییادش من چطوری از C استفاده کنم ؟داخل عکس اگر دقت کنید من از where می خوام استفاده می کنم
mthreat.info
سه شنبه 04 تیر 1392, 12:37 عصر
من به عنوان مثال عرض کردم وگرنه فرقی نمیکنه شما C فکر کن متغییر هستش!! C.ID هم فیلدی هم که میخواهید!
برای Where هم قرقش تو شرط گذاشتنه!!!
var query = db.TSazmans.Where(c => c.ID== ed)
تو کد بالا ed یک عدد هست برای تکست از .Contains بعد از اسم فیلدتون استفاده کنید!
var query= db.TSazmans.Where(c => c.Name.Contains(textbox1.text)
alexmcse
سه شنبه 04 تیر 1392, 12:49 عصر
ممنونم اما وقتی دستور Select تی که شما استفاده کردید برای من نمییادش من چطوری از C استفاده کنم ؟داخل عکس اگر دقت کنید من از where می خوام استفاده می کنم
نمونه
var q= db.Books.Where(p => p.name == "C++").Single();
Text = q.name;
حرف C یک متغییر است مثل p
میتوانید هر اسم یا حروفی بجای سی یا پی قرار دهید
Yanehsar
سه شنبه 04 تیر 1392, 12:54 عصر
من به عنوان مثال عرض کردم وگرنه فرقی نمیکنه شما C فکر کن متغییر هستش!! C.ID هم فیلدی هم که میخواهید!
برای Where هم قرقش تو شرط گذاشتنه!!!
var query = db.TSazmans.Where(c => c.ID== ed)
تو کد بالا ed یک عدد هست برای تکست از .Contains بعد از اسم فیلدتون استفاده کنید!
var query= db.TSazmans.Where(c => c.Name.Contains(textbox1.text)
دوست عزیز من اینطوری سوال کنم بهتر
1- آیا عبارات Select & where رو خوده برنامه سی برامون میاره یا باید بنویسیم ؟مثله وقتی که می نویسیم For برای ما نمایش میده
2- وقتی من C رو تعریف می کنم و دات می ذارم مگه نباید به فیلدهای بانکم دسترسی داشته باشم ؟
اما نه مورد اول برای من ظاهر میشه نه مورد دوم مشکل من اینجاست دوست عزیز نمی دونم کجایی کارم ایراد داره .
mthreat.info
سه شنبه 04 تیر 1392, 13:36 عصر
نگاه کنید تا اونجا که من میدونم Linq رو میشه هم مجزا هم داخل کد استفاده کرد
مجزا نیاز به Using linq داره:
var query1 = from c in dblq.Users
select new
{
c.memberCode,
c.FName,
c.LName,
c.identityNum,
c.identityEmission,
c.BirthDay,
c.job,
c.membershipDate,
c.address,
c.tell,
c.email
};
تو کد بالا من تمامی اطلاعات جدول User و رکورد هایی که خودم میخوام نمایش میدم
حالا بصورت داخل کد که نیاز به Using نداره :
var qw = dblq.mozoebooks.Select(c => c.MozoBoks)
تو کد بالا همه ی اطلاعات داخل جدول mozoebooks رو میاره!!!
حالا شما میگید من برای Select نمیخوام برای Where میخوام باز همین طوری هست هیچ فرقی نمیکنه (قبلا توضیح دادم)
حالا اگه تو پروژه ی شما نشون داده نمیشه این دستورات :
1-بانکی ست نکرده اید
2-با فریم ورک قدیمی دارید مینویسید (فکر کنم از 3 به بعد میتونی از Linq استفاده کنی)
.
.
.
Yanehsar
سه شنبه 04 تیر 1392, 14:01 عصر
نگاه کنید تا اونجا که من میدونم Linq رو میشه هم مجزا هم داخل کد استفاده کرد
مجزا نیاز به Using linq داره:
var query1 = from c in dblq.Users
select new
{
c.memberCode,
c.FName,
c.LName,
c.identityNum,
c.identityEmission,
c.BirthDay,
c.job,
c.membershipDate,
c.address,
c.tell,
c.email
};
تو کد بالا من تمامی اطلاعات جدول User و رکورد هایی که خودم میخوام نمایش میدم
حالا بصورت داخل کد که نیاز به Using نداره :
var qw = dblq.mozoebooks.Select(c => c.MozoBoks)
تو کد بالا همه ی اطلاعات داخل جدول mozoebooks رو میاره!!!
حالا شما میگید من برای Select نمیخوام برای Where میخوام باز همین طوری هست هیچ فرقی نمیکنه (قبلا توضیح دادم)
حالا اگه تو پروژه ی شما نشون داده نمیشه این دستورات :
1-بانکی ست نکرده اید
2-با فریم ورک قدیمی دارید مینویسید (فکر کنم از 3 به بعد میتونی از Linq استفاده کنی)
.
.
.
نمی دونم چه مشکلی داره برنامه من ورژن دات نتم 4 هستش به پروسجرهای تعریف شده داخل SQL دسترسی دارمو عملیات مورد نظرم انجام میدم (insert , update ,delete) اما برای Select , where مشکل دارم .
mthreat.info
سه شنبه 04 تیر 1392, 14:05 عصر
به سینتکس توجه میکنید؟ میشه کد خودتونو بزارید؟
Linq مجزا select رو کوچک و داخلی Select , S رو بزرگ مینویسن
Yanehsar
سه شنبه 04 تیر 1392, 14:14 عصر
به سینتکس توجه میکنید؟ میشه کد خودتونو بزارید؟
Linq مجزا select رو کوچک و داخلی Select , S رو بزرگ مینویسن
به عکس داخل اولین تایپک دقت کنید کد های من هستش نمیدونم چیزی کم داره یا ن
فرض کنید می خوام تعداد رکوردهای جدول سازمان رو بشمارم .
tooraj_azizi_1035
سه شنبه 04 تیر 1392, 15:37 عصر
// Use a connection string.
Northwind db = new Northwind(@"C:\linqtest5\northwnd.mdf");
// Query for customers from Seattle.
var custQuery =
from cust in db.Customers
where cust.City == "Seattle"
select cust;
foreach (var custObj in custQuery)
{
Console.WriteLine("ID={0}", custObj.CustomerID);
}
// Freeze the console window.
Console.ReadLine();
programer97
شنبه 08 تیر 1392, 13:00 عصر
سلام دوستان
به تازگی شروع به یادگیری linq کردم می خواستم بدونم چطوری باید از عبارات لامبدا استفاده کنم ؟آیا باید Using خاصی (به جزء Linq) را فراخوانی کنیم .
106141
سلام
نه نیازی به using کردن کلاس دیگری نیست
دستور select و where هر دو در System.Data.Entity.dll که با اضافه کردن مدل به برنامه اضاف میشه.
واسه اطمینان بیشتر این dll رو مجدد به Refrence برنامه اضافه کن.
امیدوارم مشکلت حل بشه.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.