مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

مشکل کار با دستور Include

دوشنبه, 13 خرداد 1398 09:05

مشکل کار با دستور Include

با سلام

من دارم روی یک سامانه کار می کنم که چندتا شرکت محصولاتی رو به هم ارائه می کنن. هر کدوم از این شرکت ها در بعضی درخواست ها به عنوان مالک اون محصول به حساب میان در بعضی درخواست های دیگه به عنوان درخواست کننده محصول هستن .

برای پیاده سازی این موضوع چندتا موجودیت تعریف کردم :

1- محصول (product) (id,name,owner) که در اینجا owner  همون id شرکت هست.

2- شرکت (company)(id,name)

3- درخواست(Request)(id,prodactID,Applicant) که در اینجا Applicant همون id شرکت هست.

controler رو با ویزارد خود vs ایجاد کردم برای ایجاد لیست داده هایی که به view می فرسته این دستور رو ایجاد می کنه :

var request=db.request.Include(s=>s.company).(s=s.product)

در view  هم از grid.mvc استفاده کردم . حالا مشکلم اینه که درview می خوام یه جدول درخواست ها نشون بدم که این فیلدها رو داشته باشه (کد درخواست، نام محصول، نام مالک محصول، نام درخواست کننده محصول)

برای ستون مالک محصول از دستور زیر که استفاده می کنم به جای مالک باز هم درخواست کننده رو نشون میده:

    columns.Add(c => c.product.owner).Titled("مالک محصول").RenderValueAs(c => c.company.name);

در واقع اون name رو از company نشون میده که به عنوان id درخواست کننده در جدول request ثبت شده .حالا سوالم اینه چطور میشه ناممالک محصول رو در جدول نمایش داد؟

شنبه, 18 خرداد 1398 14:07

با سلام خدمت شما

اون قسمتی که company رو include کردین ، باید با استفاده از دستور ThenInclude ، دیتای Owner رو هم Include کنین تا به اطلاعاتش دسترسی داشته باشین

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید