Удалить функцию с помощью IHttpActionResult - PullRequest
0 голосов
/ 03 июля 2019

Я хочу создать функцию удаления в ASP.NET MVC.Я не очень уверен, как создать функцию удаления в ASP.NET.MVC с помощью IHttpActionResult.Ошибка в (sql), dBConnection.SubjectCodes.Remove(subjectCodeList); dBConnection.SaveChanges();.

В сообщении об ошибке указано, что:

Соединение с БД не содержит определения для SubjectCodes

using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Cors;
using System.Data;
using System.Linq;
using SubjectAPI.Models;

namespace SubjectAPI.Controllers
{

    [EnableCors(origins: "*", headers: "*", methods: "*")] 
        [RoutePrefix("api/Subject")]
        public class SubjectController : ApiController
        {
            public List<SubjectCode> SubjectCodes;

        [ActionName("DeleteSubject")]
            [Route("DeleteSubject")]
            public IHttpActionResult DeleteSubject(int Subject_Code_ID)
            {
                    DBConnection dBConnection = new DBConnection();
                    DataTable subjectCodeList = dBConnection.GetSqlDataTable(sql);                  

                    dBConnection.SubjectCodes.Remove(subjectCodeList);
                    dBConnection.SaveChanges();

                    return Ok(subjectCodeList);
            }
    }
}


using System;
using System.Web;
using System.Collections.Generic;
using System.Linq;


namespace SubjectAPI.Models
{
    public class SubjectCode
    {
        public int Class_Code_ID { get; set; }
    public string Subject_Code { get; set; }
        public string Subject_Name { get; set; }
        public Nullable<bool> Delete_Status { get; set; }        
    }
}





1 Ответ

0 голосов
/ 03 июля 2019

Метод DeleteSubject принимает int Subject_Code_ID в качестве параметра, но похоже, что вы пытаетесь удалить subjectCodeList. Попробуйте получить единственный предметный код, который соответствует Subject_Code_ID, и удалите только это.

РЕДАКТИРОВАТЬ: мне нужно увидеть классы SubjectCode и DBConnection, чтобы дать вам конкретный пример. В зависимости от того, как они работают, вам может понадобиться что-то вроде:

DataTable subjectCodeList = dBConnection.GetSqlDataTable(sql);
var subjectCodeToDelete = subjectCodeList.Rows.Find(Subject_Code_ID);
if (subjectCodeToDelete == null)
    {
        return NotFound();
    }
dBConnection.SubjectCodes.Remove(subjectCodeToDelete);
dBConnection.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...