• 1400/04/23

مشکل Entity یوزر :

سلام وقت به خیر

استاد من توی یک پروژه سیستم Entity ها رو بر اساس یک BaseEntity که شامل آیدی و روز ساخت و ... هست و همه ی Entity ها از اون ارث بری میکنن  . الان موقع ساخت سبد خرید با توجه به اینکه کلاس یوزر آیدی خودش رو از Base میگیره نمیتونم از کلاس Order یک کلید خارجی به UserId بزنم بنظرتون چکار باید انجام بدم

ممنون

  • 1400/04/23
  • ساعت 21:16

سلام

از این روش تا حالا استفاده نکردم ، نمیدونم دوست من


  • 1400/04/27
  • ساعت 08:35

سلام دوست عزیز

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

توی حالتی که شما پیاده سازی کردید اسم فیلد کلید اصلی همه جدول ها ID هست و بعدا که میخواید Relation ایجاد کنید توسط خودتون یا EF ممکنه ناسازگاری و یا اشتباهی صورت بگیره که پیدا کردنش یکم اذیت کننه میشه، درصورتی که اگه بصورت مجزا کلید رو تعریف کنید بعنوان مثال به این صورت میشن :

PersonId یا UserId یا OrderId و ... که خوانایی کد خودتون و راحتی خطایابی کدتون روهم بیشتر میکنه

موفق باشید