ورود

View Full Version : سوال: ساختار جدول Comment در EF Code First



mbasirati
یک شنبه 15 آذر 1394, 10:10 صبح
سلام
من توی پیاده سازی دیتابیسم توی کدفرست به مشکل برخوردم. برای راحت تر توضیح دادن یه مثال میزنم (البته مشکل من جور دیگه ایه ولی تقریبا شبیه همین مثاله):
برای ثبت نظرات مربوط به هر پست توی سایتها، ما معمولا یه جدول user و یه جدول post داریم. حالا نحوه پیاده سازی جدول کامنت برای برقراری رابطه ش با جداول user و post چطوری میشه؟


CommentId PostId UserId CommentText CommentDate ...



البته فرق این مثال با شرایطی که من توش گیر کردم اینه که باید فرض بشه هرکاربر فقط یه کامنت میتونه برای یه پست ثبت کنه که خب این رو میشه قبل از ثبت چک کرد که اگه رکوردی وجود داره دیگه عمل ثبت انجام نشه. (شایدم راه بهتری توی کد فرست داره که اگه هست راهنمایی کنید)

حالا نحوه پیاده سازی جدول کامنت توی کدفرست به چه شکل میشه؟ (ترجیحا با استفاده از DataAnnotation)

farhad26
یک شنبه 15 آذر 1394, 10:30 صبح
سلام
شاید این لینک کمکت کنه
http://barnamenevis.org/showthread.php?414142-%D8%AF%D8%B1%D8%AC-Comment-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AE%D8%A8%D8%B1%D8%9F

mbasirati
یک شنبه 15 آذر 1394, 10:39 صبح
سلام
شاید این لینک کمکت کنه
http://barnamenevis.org/showthread.php?414142-%D8%AF%D8%B1%D8%AC-Comment-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AE%D8%A8%D8%B1%D8%9F

ممنون از جواب شما

ولی این مثال جدول user رو در نظر نگرفته و دقیقا مشکل من همینه که این چیزی که من میخوام میشه یه رابطه چند به چندی که جدول سوم علاوه بر فیلدهای کلید جداول مربوطه خودش یه سری فیلد دیگه باید داشته باشه و همینه که برای من سوال شده.

r4hgozar
یک شنبه 15 آذر 1394, 11:29 صبح
سلام.
شما نمی تونی واسه یوزر ارتباطی بین جدول کامنت و جدول یوزر بدی شاید یکی بخواد نظر بده اما داخل سایت عضو نشده باشه و یوزر ایدی نداشته باشه. و اگه شما ارتباط بدی حتما باید این فیلد پر بشه.
شما می تونی یوزر آیدی بزاری اما بدون ارتباط و اگه یوزر وارد شده و می خواد نظر بده ایدییش اونجا ادد بشه.
جدول کامنت باید با جدول پست ارتباط داشته باشه. ارتباط یک به چند.
یعتی هر پست می تونه چند کامنت داشته باشه اما هر کامنت فقط واسه یه پسته.

موفق باشید.

mbasirati
یک شنبه 15 آذر 1394, 11:35 صبح
سلام.
شما نمی تونی واسه یوزر ارتباطی بین جدول کامنت و جدول یوزر بدی شاید یکی بخواد نظر بده اما داخل سایت عضو نشده باشه و یوزر ایدی نداشته باشه. و اگه شما ارتباط بدی حتما باید این فیلد پر بشه.
شما می تونی یوزر آیدی بزاری اما بدون ارتباط و اگه یوزر وارد شده و می خواد نظر بده ایدییش اونجا ادد بشه.
جدول کامنت باید با جدول پست ارتباط داشته باشه. ارتباط یک به چند.
یعتی هر پست می تونه چند کامنت داشته باشه اما هر کامنت فقط واسه یه پسته.

موفق باشید.

ممنون از پاسخ شما
اما همونطور که عرض کردم من بحث نظردهی رو مثال زدم. در ثانی این بسته به سلایق و سیاست های هر شخصه (منظور مدیر سایت) که نظردهی برای عموم آزاد باشه یا نباشه.
لطفا صورت مسئله رو عوض نکنید.

r4hgozar
یک شنبه 15 آذر 1394, 11:44 صبح
من نمی تونم رابطه ارتباط چند به چند رو تو این مثال بفهمم.
شما اگه خود کد رو می خواین بگین ما کد بنویسیم.
اما اگه من دقیقا بخوام خود مسئله رو حل کنم از 2 ارتباط یک به چند استفاده می کنم.
بین یوزر و کامنت. یکی هم بین کامنت و پست.
موفق باشید