• 1400/06/30
  • 0
  • 188
1400/06/30 |
backend
c-sharp
dot-net
asp

مشکل اپدیت اطلاعات در جدولی که با چند جدول دیگر ارتباط یک به چند و چند به یک دارد ( خطای Multiplicity )

سلام خدمت همگی وقتتون بخیر

مشکل اپدیت اطلاعات در جدولی که با چند جدول دیگر ارتباط یک به چند و چند به یک دارد  one to many    -   many to one  

این اروری هست که من میگیرم ، در ادامه عکس کلاسها و کدهای مربوطه رو قرار می دم ممنون میشم کمکم کنید

System.InvalidOperationException: 'Multiplicity constraint violated. The role 'File_product_Target' of the relationship 'DAL_chap.File_product' has multiplicity 1 or 0..1.'

 

نمودار کلی پروژه و ارتباط ها :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

عکس این سه جدولی که در اپدیت جدول product مشکل دارد را قرار می دهم

 

 

اکنون کد بخشی که شی را پر می کنم و میفرستم برای اپدیت که در حقیقت یک لیست file و یک لیست nextservice هم که قبلا برای product پر نشده بود میفرستم که در اپدیت تنظیم گردد

 

 

 

این هم تابع اپدیت که دقیقا بدون دو خط آخر قبل از savechanges() به درستی اپدیت می شود اما وقتی می خوام این دو لیست fileو nextservice هم اضافه شود ارور  Multiplicity constraint violated می دهد

اما اگر دقت کنید بخشی که این جدول با paper , factor ارتباط دارد یک به چند بودن ارتباط معکوس است و اپدیت صورت می گیرد و قیمت مورد نظر در factorاین product تنظیم میگردد اما ارتباط file,nextservice با product برعکس آنهاست و اپدیت را مشکل ساز کرده است

ممنون میشم کمکم کنید

 

 

 

 

این هم اروری که زمانی که nextservice,file  باشد بوجود می آید

با دیباگ کردن تمام اطلاعات رو چک کردم که به درستی مقدار بگیرد و اوکی بود

 


سلام

توی اون قسمتی که خطا میده ذو خط بالاتر نوشتی که

n.nextservices = p.nextservices

اینجا منظورت چیه؟

وقتی هنوز اطلاعات product توی جدول ذخیره نشده و کد id نگرفته چطور میخوای این فیلد کلیدی رو توی جدول nextservices قرار بدی ؟

همزمان که نمیشه 

باید اول اطلاعات product رو ذخیره کنی بعد که Id اون بدست اومد اون id رو به حدلول های دیگه که ارتباط دارن بدی تا اونها هم با این Id آپدیت بشن

 



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری