ammu11 Ответов: 0

Как удалить несколько записей из БД, передав id в MVC


У меня есть сомнения в mvc, что как я могу удалить несколько записей из таблицы, передав id. то есть сгруппировать разные записи postname под одним и тем же именем и при удалении, нажав на ссылку удалить, он покажет страницу подтверждения удаления. В методе httpget delete я написал код и буду работать
public async Task<ActionResult> Delete(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Mapping mapping = await db.Mappings.FindAsync(id);

            var ListItems = (from ap in db.Mappings
                             join a in db.Masters on ap.MasterId equals a.ID
                             join p in db.PostMasters on ap.PostId equals p.Id
                             select new MappingList
                             {
                                 id = ap.Id,
                                 Masterid = ap.MasterId,
                                 postid = ap.PostId,
                                 firstname = a.FirstName,
                                 Postname = p.PostName
                             }).Where(r => r.Masterid == id).ToList();

            var grp = ListItems.GroupBy(r => r.Masterid).Select(r => new MappingList
            {
                Masterid = r.Key,
                id = r.Key,
                PostNames = string.Join(" , ", r.Select(g => g.Postname)),
                firstname = ListItems.FirstOrDefault(q => q.Masterid == r.Key).firstname
            }).ToList();


            if (grp == null)
            {
                return HttpNotFound();
            }
            return View(grp);
        }
Здесь отображение является таблицей и хочет удалить записи из этой таблицы.MappingList - это класс моделей.
На странице удалить вид дали
@model IEnumerable<A.Models.MappingList>
и получить нужный мне результат . Но когда я нажимаю на кнопку Удалить подтверждение, мне нужно удалить значение grp, чтобы запись была удалена и сохранена в таблице сопоставления. это тот раздел, который я не в состоянии сделать
[HttpPost, ActionName("Delete")]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> DeleteConfirmed(int id)
        {
            Mapping mapping = await db.Mappings.FindAsync(id);
            db.Mappings.Remove(mapping);
            await db.SaveChangesAsync();
            return RedirectToAction("Index");
        }

Я не получаю сопоставления значений, потому что moel, переданный на страницу удаления представления, - это не таблица, А класс, а идентификатор в actionparameter-это мастер-идентификатор . Iam не в состоянии удалить запись показывает, что значение ошибки не может быть нулевым
Может ли кто-нибудь помочь мне найти решение, как удалить запись в таблице сопоставления, передав идентификатор ??

Что я уже пробовал:

Как удалить из таблицы, когда модель отличается, искали много способов

0 Ответов