PDA

View Full Version : سوال: نمایش افراد شرکت نکرده در یک کلاس خاص با جدول واسطه



salehsam
دوشنبه 18 آذر 1392, 13:57 عصر
سلام دوستان
تو ویندوز فزم
سه تا جدول داریم:
جدول افراد که افزاد ذخیره شدن و با id شناخته میشن
جدول کلاس که کلاس ها ذخیره میشن و با kid شناخته میشه
جدول واسطه که id افراد و kid کلاس با هم primary key شدن و کار ازتباط رو انجام میدن
حالا چجوری تو دیتاگرید نشون بدیم که این افراد تو یه کلاس خاص شرکت نکردن؟
ممنون

Mofid.m
دوشنبه 18 آذر 1392, 14:39 عصر
سلام دوست عزیز
منظورت دستور SOL هستش؟

salehsam
دوشنبه 18 آذر 1392, 14:50 عصر
من با entity framework کار میکنم
میتونم با دستور زیر افراد شرکت کننده رو بیارم


var p = from p2 in db.tbl_per_dore // جدول واسطه
where (p2.kid == dore_type) // شرط که فعلا به صورت دستی به تکست باکس می دهیم
select new { p2.tbl_person.per_fname }; // خروجی

dgv_per.DataSource = p.ToList();

ولی هر کار میکنم چون افرادی که در کلاسی شرکت نکردن چون داخل جدول واسطه نیستن نمایش داده نمیشن
آیا میشه دستور if نوشت که اگه این اشخاص اسمشون نبود برو از اون جدول بگیر
یا ابتدا جدول اشخاص رو لود کنیم و سپس کسانی که شرکت کردن رو فیلتر کنیم؟
ممنون

Mahmoud.Afrad
پنج شنبه 21 آذر 1392, 19:11 عصر
باید از Full outer join استفاده کنی. کد کلاس اگر null شد یعنی شخص توی اون کلاس شرکت نکرده.
در مورد Full outer join در کوئری های linq جستجو کنید.