avatar
mahdi

کاربر

  • 1400/07/28
  • 0
  • 133
1400/07/28 |
backend
asp-net-core

رابطه جدول Order با جدول RequestPay

سلام تو دوره مقدماتی  core  چرا بین جدول RequestPay و Order   رابطه یک به چند خورده ؟؟؟؟          public virtual ICollection<Order> Orders { get; set; }

به این صورت که یک RequestPay متعلق به لیستی از Order    ها می شود ؟؟

سوالم از این جهت ایجاد شده که زمانی که کاربر وارد سایت می شود میتونه چندین محصورل را به سبد خرید اضافه کنه و همه اون محصولات شامل یک فاکتور ( Order  ) می  شود و سپس کاربر برای هر فاکتوری که داره ( Order  ) فقط یک بار باید عملیات RequestPay را انجام بده .

خب حالا چه نیازیه رابطه ی یک به چند داشته باشیم؟؟

در این صورت اگه حرف من درست باشه رابطمون باید رابطه یک به یک باشه ...

 

 

 

 

 

 

 


سلام

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

یعنی اگر رابطه یک یه یک بر قرار میشد جدول سفارشات باید کد جدول پرداختها را میگرفت و جدول جزئیات سفارش که کد جدول سفارش را دریافت میکند کد جدول پرداخت را میگرفت و زیر مجموعه پرداختها به حساب می آمد

مثلا کد Id در جدول پرداخت اگر 102 باشد با ایجاد رابطه یک به یک با افزودن رکورد در جدول سفارش کد Id سفارش هم کد 102 میگیرد و پس از آن برای جزئیات سفارش هم که به سفارش لینک است کد 102 ثبت میشود و در واقع زیر مجموعه پرداخت محسوب میشد

شاید در واقع تفاوتی در عمل دیده نشود ولی از لحاظ ساختار طراحی صحیح نیست

رابطه یک یه یک زمانی بوجود می آید که یک جدول پر از فیلد داشته باشیم که در ای تمامی رکوردها تعدادی از آنها پر نمیشود و برای خلوتی کار تکه دوم که برای برخی رکوردها هست و برای برخی نیست در جدول دوم با رابطه یک به یک ایجاد میکنند

 

امیدوارم مطلب را رسانده باشم

 



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

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

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