نحوه ساختن اگریگیت های جزئی و نحوه گرفتن اطلاعات از دیتابیس داخله انتیتی

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

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

بازدید: 289

پاسخ: 2

تگ: Asp.net Core


سلام استاد اشرافی، خسته نباشید، استاد من میخوام برای پروفایل های کاربر ها، بیام از قبل مثلا خودم تو پنل ادمین چندتا عکس اضافه کنم، بعد یوزر ها از اونا انتخاب کنن، حالا همین که این سیستم رو اصلا کجا پیاده سازیش کنم رو نمیدونم، الان باید یه اگریگیت مختص بسازم فقط برای همین کار؟ یعنی مثلا یه AvatarAggregate با یه کلاس Avatar داخلش؟ چون خیلی کوچیکه این اگریگیت، زیاد جالب نیست بنظرم، چیکار باید کنم تو این شرایط؟

 

سوال دیگمم اینه که، من میخوام بر اساس جنسیت یوزر، برم به صورت رندوم، یکی از آواتار ها رو بیارم، البته اون آواتار هم باید مثلا پراپرتیه جنسیتش مساوی جنسیت یوزر باشه، حالا این اتفاق باید وقتی بیفته که یوزر ثبت نام میکنه، حالا واسه این من باید چیکار کنم؟ داخل خود انتیتی که نمیشه مستقیم به ریپوزیتوری دسترسی داشت نه؟ باید یه Domain Service واسه یوزر بسازم، بعد از توی اون سرویس، از ریپوزیتوریه AvatarAggregate استفاده کنم، برم یه آواتار به صورت رندوم بگیرم از دیتابیس بیارم؟ اصلا تو Domain Service میشه از ریپوزیتوری های اگریگیت های دیگه استفاده کرد؟

پاسخ ها
user

محمد اشرافی

سلام وقت بخیر ، بله همینطور که خودتون گفتید ، یه کلاس برای avatar بسازید و تو DomainService می تونید از Repository اون Entity استفاده کنید

و اینکه Aggregate یه مفهومه خیلی ازش  ترس نداشته باشید ، مثل همیشه کار هاتون رو انجام بدین ، بعضی از Entity ها هستند که اصلا منطق خاصی ندارن ، پس نیازی نیست Rich باشه یه الکی پیچیده اش کنید ، دقیقا مثل همین کلاس Avatar

user

bzmind ‌

خیلی ممنون استاد.

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

محبوب ترین مقالات