رفرنس دادن چایلد های یک اگریگیت دیگر از طریق Foreign Key

سوال شده توسط: bzmind ‌

تاریخ ثبت: ۱۴۰۰/۱۱/۲۶

بازدید: 576

پاسخ: 2

تگ: Asp.net Core


سلام

استاد گفتید که بین اگریگیت ها ما نباید بیایم مستقیم چایلد یه اگریگیت دیگه رو داخل یه اگریگیت دیگه رفرنس بدیم، اون رفرنس منظورتون به صورت آبجکت رفرنس هست؟ ینی مثلا توی کلاس product image که زیر مجموعه اگریگیت product هست، من نباید یه پراپرتی داشته باشم مثل این:

 public OrderItem orderItem { get; private set; }

چون OrderItem توی اگریگیت Order هست، شما منظورتون همین بود دیگه درسته؟

بعد حالا اگر بیام به جای اینکه خود آبجکت OrderItem رو رفرنس بدم بجاش فقط Foreign Key رو به عنوان پراپرتی داشته باشم توی product image اشکالی نداره؟ یعنی ID اون orderItem رو فقط اضافه کنم، مثل این:

 public long orderItemId { get; private set; }

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

ممنون

پاسخ ها
user

bzmind ‌

بعد یک سوال دیگه، آیا ما میتونیم مثلا توی یک اگریگیت چایلد ک خودش زیر مجموعه اگریگیت هست، مثل product Image بیایم یک Aggregate root که کلا یک اگریگیت دیگه هست رو به صورت آبجکت رفرنس بدیم توی پراپرتی هامون؟ مثل این پراپرتی Order که خودش اگریگیت روت هست و ما توی Product Image اومدیم رفرنسش دادیم:

public Order order { get; set; }

user

محمد اشرافی

سلام ، Object اش نیاید باشه ولی اگر فقط Id بگیرید مشکلی نداره 

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

خودتون رو درگیر فکر کردن به Query زدن نکنید ، مدل Query کاملا جداست و توی 70% مواقع من کلا با ِDapper کار هامو انجام میدم ، توی پروژه هم به همن شکله وقتی رسیدیم به لایه Query درک بهتری نسبت به Aggregate ها پیدا میکنید ، این مدل هایی که توی لایه Domain میسازیم بیزنس مدل هامونن برای اینه که منطق سیستم رو پیاده سازی کنیم 

برای ثبت پاسخ باید خود شوید