سلام استاد
خسته نباشید
ممنونم از دوره خوبتون
فرض بفرمایید ما یه سرویس داریم به اسم BaseService که توی اون شهر و استان و و اطلاعات پایمون وجود داره
حالا میخوایم توی سرویس های دیگمون از اون اطلاعات استفاده کنیم
مثلا CityId
سوال اول : چجوری میتونیم ارتباط (forgin key) رو داشته باشیم که یه موقع id اشتباهی برای شهر درج نشه
سوال دوم : چجوری میتونیم city رو include کنیم و از قابلیت navigation property استفاده کنیم
با تشکر
سلام دوست من
متوجه منظورتون نشدم دوست من
اگر مدل های اصلی شهر و استان داخل یک سرویس هستن بدون هیچ مشکلی میتونین بین مدل ها رابطه برقرار کنین
البته که مدل های شهر و استان باید داخل یک سرویس باشن طبیعتا و نباید سرویس جداگانه ای براشون در نظر گرفته بشه
سلام مجدد
منظورم بین دوتا میکروسرویس مجزا هستش
یعنی :
میکروسرویس اول بابت اطلاعات پایه هستش
و میکروسرویس های دیگه از اون اطلاعات قراره که استفاده کنن
من شهر رو مثال میزنم براتون
توی یک میکروسرویس با نام BaseService.Domain ما Entity با نام City داریم
حالا یه میکروسرویس دیگه داریم با نام CustomerService.Domain که سرویس مربوط به مشتریان هستش که توش Entity با نام Customer وجود داره
که این Customer یه Property با نام CityId داره که میخوام Forging Key داشته باشه به City که توی BaseService.Domain هستش
حالا دلیلش چیه
بخاطر اینکه یه موقع توی Customer به ازای CityId مقدار نامعتبر درج نشه و همچنین بتونم از قابلیت navigation property استفاده کنم
بله متوجه منظورتون شدم
در قسمت order و product هم اگر دقت کنین همچین موردی رو داشتیم
در مواجهه با همچین مواردی معمولا مقدار navigation property رو نمیذاریم دوست من
صرفا id گذاشته میشه و به صورت sync و با استفاده از grpc مقدار مورد نیاز رو واکشی میکنیم