ارتباطات بین جداول
اهمیت: عادی نوع: درخواست راهنمایی شماره نگارش: 1
با سلام و تشکر از پروژه‌ی خوبتان که تو یاد گیری MVC خیلی کمکم میکنه
جدول UserMetaDatas چرا با جدول Users رابطه‌ی یک به چند (  one to many ) داره؟ مگه جدول UserMetaDatas  برای نگه داری مشخصات کاربر نیست؟ و هر کاربر نیز مشخصات واحدی داره مثل تاریخ تولد! به نظر باید رابطه یک به یک باشه یا مساله ای هست و من متوجه نشدم؟ بازم تشکر از شما

  • #
    ‫۱۰ سال و ۱۰ ماه قبل، جمعه ۱ آذر ۱۳۹۲، ساعت ۲۳:۰۲
    سلام؛ ممنون
    اگر به این سطر دقت کرده باشید در کلاس UserConfig:
    HasOptional(x => x.UserMetaData).WithRequired(x => x.User).WillCascadeOnDelete(false);
    درست است رابطه از دید دیتابیس یک به چند است ولی در هنگام کار با EntityFramework رابطه یک یه یک است و ما از یک به چند بودن نمی‌توانیم استفاده کنیم. دلیلش هم ذکر HasOptional است و این امر در رابطه‌ی یک یه یک امکان پذیر نیست.
    البته این نکته را متذکر شوم که طراحی دیتابیس این سیستم ممکن است ایراداتی نیز داشته باشد و کاملا بدون نقص نیست.
  • #
    ‫۱۰ سال و ۹ ماه قبل، پنجشنبه ۵ دی ۱۳۹۲، ساعت ۰۶:۰۵
    با سلام
    دلیل اینکه رابطه یک به چند شده این است که در کلاس UserMetaData کلید از نوع long میباشد که با  تغییر  آن به نوع int رابطه به صورت یک به یک میگردد