سلام و درود بر استاد گل
یه سوال داشتم در مورد لامبدا
من join رو بلدم
where رو هم بلدم
حالا میخوام بگم که دو تا جدول رو join کن با هم و توی نتیجه یه where بیار اونایی که مثلا z=2 هستن رو بیار از این نتیجه
مثلا جدل x و y رو join کن رو f و g به شرطی که n=2 باشه
میشه راهنمایی کنید و ممنون
سلام
List<Person> People = new List<Person>();
List<PersonType> PeopleTypes = new List<PersonType>();
var joined = People.Join(PeopleTypes,
PeopleKey => PeopleKey.PersonType,
PeopleTypesKey => PeopleTypesKey.TypeID,
(Person, PersoneType) => new
{
Name = Person.Name,
TypeID = PersoneType.TypeID
});
ممنون استاد
ولی where نیومده تو دستور
where باید کجاش باشه؟
عرض کردم ، هم where رو تونستم کار کنم هم join رو - با ترکیب این دو تا مشکل دارم
قبل از join باید where بزارید
سرچ کنید Join In Lambda With Where
ببخشید
میدونم سوالم زیاد شده
این آخریشه , لطفا
این کد sql من هستش
select * from bazargani_tankhah_sanad inner join bazargani_tankhah on bazargani_tankhah_sanad.id=bazargani_tankhah.sanad_id where bazargani_tankhah_sanad.user_id=1
این کد به من یه لیست بر میکردونه (شامل یک یا جند ردیف). درست؟
حالا کد لامبدای این چی میشه؟
کد شما رو اینجوری پیاده کردم
[HttpGet]
[Route("TankhahSanadJoinByUserId/{userid}")]
public List<bazargani_tankhah_sanad> GetTankhahSanadJoinByUserId(int Userid)
{
var where = dbtankhah_sanad.tankhah_sanad.Where(p => p.User_Id == Userid).ToList();
var joined = where.Join(dbtankhah_radif.tankhah_radif,
sanad => sanad.Id,
radif => radif.sanad_id,
(sanad, radif) => new
{
sanad = sanad,
radif = radif
}).ToList();
return joined;
}
ولی این ارور رو از من گرفت
هر چی هست به کد join مربوط نمیشه
فکر کنم مربوط به تبدیل نتیجه به لیست هستش
خروجی تابع من یه لیست باید باشه ولی انگار خروجی مد من لیست نیست
درسته استاد؟
خروجی من چی هست الان؟
لیست هستش؟ یه لیست که تشکیل شده از عناصر دو تا تیبل جوین شده؟
باید خروجی را .ToList() کنید
استاد خط آخر رو ببینید . tolist رو گذاشتم
میدونید این کد برای کجاست؟
توی برنامه دیوار توی api می نوشتیم که مثلا ID رو پاس بدیم از طریق URL و لیست بگیریم
حالا من میخوام یه UserId پاس بدم با URL و یه لیست join شده از دو تا تیبل رو به من توی API بده
متن خطا میگه نوع خروجی همخوانی نداره
درست استاد ، علت چی میتونه باشه
با توجه به کد من
بازم تکرار کنم این موضوع رو شاید کمکی بکنه
توی برنامه دیوار توی api می نوشتیم که مثلا ID رو پاس بدیم از طریق URL و لیست بگیریم
حالا من میخوام یه UserId پاس بدم با URL و یه لیست join شده از دو تا تیبل رو به من توی API بده
[HttpGet]
[Route("TankhahSanadJoinByUserId/{userid}")]
public List<SanadRadifJoin> GetTankhahSanadJoinByUserId(int Userid)
{
var joined = dbtankhah_sanad.tankhah_sanad.Where(p => p.User_Id == Userid).Join(dbtankhah_radif.tankhah_radif,
sanad => sanad.Id,
radif => radif.sanad_id,
(sanad,radif) => new {sanad,radif}).ToList();
return joined;
}