💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ حمیدرضا جلیلی
کلاس OrderItem
جامعه ASP.NET ایجاد شده در ۱۳ بهمن ۱۴۰۱

نمیشد به جای OrderItem از خود Product استفاده کرد؟

یعنی دیگه کلاسی با نام OrderItem نداشته باشیم و از خود کلاس Product استفاده کنیم و در همون جا به Order اشاره کنیم و فیلد Quantity رو هم در همون Product بگذاریم؟

سلام،

خیر؛ علتشم داخل ویدیو مثال اوردن. (دقیقه 16.30)

فیلد quantity داخل Product به تعداد محصول در انبار اشاره میکنه.

جدول Order واسه ثبت سفارش هاست و OrderItem جزئیات هر سفارش هست.

شما یک فاکتورو در نظر بگیرید که این فاکتور محصولات مختلفی داخلش اومده بهمراه تعداد و قیمتی که برای اون مشتری در نظر گرفته شده(این قیمت داخل فاکتور به هر دلیلی میتونه با قیمت اصلی محصول متفاوت باشه، یه نمونه اش مثل کد تخفیف و ...)

مثالی از پیاده سازی این ساختار:

Customer:
id | username
===============
1  | demo
Product:
id | title    | price | quantity
================================
1  | t-shirt  | 2000  | 10
2  | adams    | 100   | 20

مشتری سبد خریدی آماده میکنه و برای خریدهاش یک فاکتور داخل Order ثبت میشه:

Order:
id | customer_id
=================
1  | 1 (points to demo)

اما آیتم‌های سفارش باید در جدول دیگری ثبت شود:(نمونه ای از جزئیات یک فاکتور)

Item:
id | order_id | product_id | price | quantity
==============================================
1  | 1        | 1          | 2000  | 2
2  | 1        | 2          | 90    | 5

این میشه روند یک سفارش و جزئیاتش. در ادامه جدول Item جزئیات سفارش‌های دیگه هم میاد.

بین تمامی این جداول ارتباط(relation) وجود داره.

یک مدل رو پیوست میذارم میتونید ببینید.

بهترین پاسخ
محسن موحد ۱۴ بهمن ۱۴۰۱، ۲۲:۵۷