نوشته شده توسط
mamadcity
دوستان کسی هست قبلا این کار رو انجام داده باشه ؟
شما برای انجام این کار بایستی یه فیلد مشترک در تمامی جداولتون داشته باشین یا اینکه به هر حال یه ارتباط چند جانبه میانشان برقرار کنین
سپس با یه کوری به صورت join می تونین داده هارو از این جداول واکشی کنین !!! به عنوان مثال این کوئری که برای فراخوانی اطلاعات از 3 جدول می باشد..... این روش رو می شه روی هر چندتا جدول که داشته باشین اجرا کرد به شرط وجود یک ارتباط منطقی :
var balance = (from a in context.Accounts
join c in context.Clients on a.UserID equals c.UserID
join d in context.Descriptions on c.ClientID equals d.ClientID
where d.DescriptionID == yourDescriptionID
select a.Balance)
.SingleOrDefault();
ویا :
var query = from p1 in context.P1s
join p2 in context.P2s on p1.Key equals p2.Key into list1
from l1 in list1.DefaultIfEmpty()
join p3 in context.P3s on l1.Key equals p3.Key into list2
from l2 in list2.DefaultIfEmpty()
select new { p1.....}
, واین کوئری برای join بیش از 3 جدول :
var match = from t1 in context.cKNA1
join t2 in context.cKNB1 on
new { t1.KUNNR, t1.RowId } equals
new { t2.KUNNR, t2.RowId }
join t3 in context.cKNVV on
new { t2.KUNNR, t2.RowId } equals
new { t3.KUNNR, t3.RowId }
join t4 in context.cKNVH on
new { t3.KUNNR, t3.RowId } equals
new { t4.KUNNR, t4.RowId }
SELECT t1.KUNNR;