• 1397/07/22

تزریق وابستگی :

با عرض سلام.

در پروژه ام یک جدول group دارم که اطلاعات گروه ذخیره میکند و یک جدول زیر گروه دارم که یک فیلد به نام گروه اصلی دارد که اتوماتیک توسط group  پر میشود و به حالت comboBox تبدیل می شود. همچنین از روش  repository استفاده کرده ام. موقع تزریق وابستگی یه مشکل دارم. ViewBag.cu_id مقادیر جدول group را به صفحه create ارسال میکند که  ازdb  استفاده می کند. در حالی که db را در constructor  قرار داده ام که قاعدتا نمی توانم به شکل زیر استفاده کنم. لطفا راهنمائی بفرمائید.

  public ActionResult Create()
        {
             ViewBag.cu_id = new SelectList(db.companyUnits, "cu_id", "cu_nameUnit");
            return PartialView();
        }

 

  • 1397/07/22
  • ساعت 12:42

سلام 

اصلا منظورتون رو نمیفهمم 

 


  • 1397/07/22
  • ساعت 14:02

با سلام مجدد

در Controllers سعی می کنیم برای جلوگیری از ارجاعات متعدد به پایگاه داده و مشکلات ناشی از آن از تزریق وابستگی استفاده کنیم. در این حالت دیگر از دستور    systemNetContext db = new systemNetContext();  بصورت مستقیم استفاده نمیکنیم و از constructor استفاده می کنیم. در این حالت دستور

  ViewBag.cu_id = new SelectList(db.companyUnits, "cu_id", "cu_nameUnit");

را چگونه اصلاح کنیم تا ضمن حفظ تزریق وابستگی اطلاعات را به صفحه جدید بفرستیم بدون استفاده از db.

امیدوارم متوجه شده باشید. باز هم از لطفتون تشکر می کنم.

namespace systemNet.Areas.Admin.Controllers
{
    public class CompanyUnitSubsetsController : Controller
    {
        private ICompanyUnitSubsetRepository companyUnitSubsetRepository;
        systemNetContext db = new systemNetContext();
        public CompanyUnitSubsetsController()
        { companyUnitSubsetRepository = new CompanyUnitSubsetRepository(db); }

....

 public ActionResult Create()
        {
             ViewBag.cu_id = new SelectList(db.companyUnits, "cu_id", "cu_nameUnit");
            return PartialView();
        }

.....


  • 1397/07/22
  • ساعت 16:12

برای جلوگیری از ارجاعات از unitofWork استفاده میکنیم 

آموزش repository موجود در سایت رو ببینید 


logo-samandehi