نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل استفاده از 2 کلاس همزمان repository

  1. #1

    Question مشکل استفاده از 2 کلاس همزمان repository

    سلام.
    وقتی در یک اشکن post بخوام بصورت همزمان از 2 ریپوزیتوری استفاده کنم دچار مشکل می شم. و ارور بر می خرم
    یعنی اگه بخوام از ریپوزیتوری های findbyid و edit که نوشتم بصورت همزمان استفاده کنم به ارور زیر بر می خورم .


    cannot be tracked because another instance with the same key value for {'Id'} is already being tracked.


    در اینجا باید چی کار انجام داد؟

  2. #2
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,115

    نقل قول: مشکل استفاده از 2 کلاس همزمان repository

    شما دارید از EF استفاده میکنید و این خطای سیستم رهگیری ef هست
    اگر کدهاتون گذاشته بودید جهت راهنمایی بهتر بود
    موجودیتی که بر روی ان عمل ویرایش انجام دادید را باید از سیستم رهگیری جدا کنید

    _Entry(model).State = EntityState.Added;
    _Entry(model).State = EntityState.Detached;

  3. #3

    نقل قول: مشکل استفاده از 2 کلاس همزمان repository

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    شما دارید از EF استفاده میکنید و این خطای سیستم رهگیری ef هست
    اگر کدهاتون گذاشته بودید جهت راهنمایی بهتر بود
    موجودیتی که بر روی ان عمل ویرایش انجام دادید را باید از سیستم رهگیری جدا کنید

    _Entry(model).State = EntityState.Added;
    _Entry(model).State = EntityState.Detached;

    سلام علی اقا


    public bool Edit(Slider model)
    {
    try
    {
    _db.Entry(model).State = EntityState.Modified;
    _db.SaveChanges();
    return true;
    }
    catch (Exception exception)
    {
    var ex = exception.Message;
    return false;
    }
    }




    public Slider FindById(Guid? id)
    {
    var model= _db.Sliders.Find(id);
    return model;
    }


    وقتی در یک action هر دوتا رو همزمان استفاده کنم بهم این ارور رو میده.

  4. #4
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,115

    نقل قول: مشکل استفاده از 2 کلاس همزمان repository

    سیستم رهگیری ef نسبت به متد find حساس نیست چون find فقط یک واکشی هست و با متد find داده ای در حال ویرایش و اضافه و حذف نیستیم



    Attach را جهت ویرایش بکار ببرید{
    _db.Sliders.Attach(model);
    _db.Entry(model).State = EntityState.Unchanged;

    _db.SaveChanges();


تاپیک های مشابه

  1. زمان استفاده از razor page و repository
    نوشته شده توسط r4hgozar در بخش ASP.NET Core
    پاسخ: 3
    آخرین پست: جمعه 02 فروردین 1398, 01:47 صبح
  2. سوال: نحوه استفاده Async در IRepository و Repository
    نوشته شده توسط Iran58 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: شنبه 16 تیر 1397, 09:56 صبح
  3. Repository In ASP.NET MVC
    نوشته شده توسط مهدی هادیان2 در بخش ASP.NET MVC
    پاسخ: 21
    آخرین پست: سه شنبه 27 آبان 1393, 14:07 عصر
  4. سوال: پیکربندی فایل global.asax در mvc 4 برای استفاده از الگوی repository
    نوشته شده توسط mohammad_kazem در بخش ASP.NET MVC
    پاسخ: 1
    آخرین پست: دوشنبه 04 آذر 1392, 11:47 صبح
  5. پاسخ: 2
    آخرین پست: شنبه 20 اسفند 1390, 12:12 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •