ارتباط چندبه چند در ASP.Net Core
سلام به همه دوستان ای تی پروی
در Asp.net core با استفاده از Entity frame work یک ارتباط چند به چند ایجاد کرده به این صورت که یا یک جدول واسط ارتباط دوتا جدول رو به هم به صورت چند به چند وصل میکنم .
جدول اول به اسم پست ها و جدول دوم دسته بندی ها جدول واسط هم دوتا ردیف داره که هردوتاش کلیده
حالا مشکلم اینه چطور وقتی یک پست میزنم با استفاده از چک باکس چند تا دسته برای اون پست رو انتخاب کنم و اطلاعات در جدول واسط هم ذخیره بشه
مشکل اصلیم توی کد نویسیشه
ممنون از راهنمایی هاتون
3 پاسخ
سلام به شما در entity فریمورک شما در عمل نمی تونید یک ارتباط چند به چند ایجاد کنید بلکه باید یا به صورت صریح یک جدول واسط داشته باشید و یا این که به صورت ضمنی آن جدول را بسازید و ارتباط یک به چند به آن جدول داشته باشید. برای این کار شما می توانید به روشی که در این مطلب گفته شده استفاده کنید.
ممنون از پاسخگویی هاتون و سپاس
بنده جداولل رو کامل ساختم و ارتباط چند به چند هم با جدول واسط توسط فلونت اِی پی آی ایجاد کردم
الان داخل اکشن create میخوام لیستی از category ها به صورت چک باکس داشته باشم که با تیک خوردن اون ها و زدن دکمه submit
در داخل جدول واسط هم این اطلاعات ثبت بشه
ممنون
سلام و عرض ادب، مشکل الان بیشتر مربوط به بخشی هست که شما می خوایید اطلاعات از کلاینت به سمت سرور ارسال بشه، برای انتخاب چندین مقدار مختلف و ارسال تحت یک متغیر داخل ASP.NET شما کاری که باید چندین input ایجاد کنید که خصوصیت name اون ها با هم یکسان هست و خصوصیت value اون ها مقادیر متفاوتی دارن:
<input type="checkbox" name="categories" value="1" /> <input type="checkbox" name="categories" value="2" /> <input type="checkbox" name="categories" value="3" /> <input type="checkbox" name="categories" value="4" /> <input type="checkbox" name="categories" value="5" />
حالا برای Action ای که قراره عملیات post رو هندل کنه به صورت زیر تعریف میشه:
public IActionResult AddPost(IEnumerable<int> categories) { /// }
حالا داخل بدنه AddPost عملیات اضافه کردن Entity رو انجام بدید، شناسه های انتخاب شده داخل پارامتر categories قرار میگیرن.