【问题标题】:Delete Function using IHttpActionResult使用 IHttpActionResult 删除函数
【发布时间】:2019-07-03 00:48:24
【问题描述】:

我想在 ASP.NET MVC 中创建一个删除函数。我不太确定如何使用 IHttpActionResult 在 ASP.NET.MVC 中创建删除函数。 (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; }        
    }
}





【问题讨论】:

  • 您在使用此代码时遇到的任何特殊问题?
  • (sql)dBConnection.SubjectCodes.Remove(subjectCodeList); `dBConnection.SaveChanges(); 中有一个错误;`
  • DBConnection 是你自己的班级吗?

标签: c# sql asp.net-mvc


【解决方案1】:

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();

【讨论】:

  • 你能提供一些例子吗?
  • 我需要sql 声明,对吗?可能是SELECT 声明
  • 我需要看到您的 SubjectCode 和 DBConnection 类才能确定。
  • 我添加了 SubjectCode 和 DBConnection
  • 好的,谢谢,错误是正确的——如果这是你的整个 DBConnection 类,那么它没有任何名为 SubjectCodes 的属性。你使用的是什么版本的 MVC?您使用 SqlConnections 和 DataTables 而不是 DbContext 有什么原因吗?例如。 docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/…
猜你喜欢
  • 2017-09-05
  • 2013-11-24
  • 2019-08-07
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多