如何将数据从代码插入 Db 并创建 POST 方法

Posted

技术标签:

【中文标题】如何将数据从代码插入 Db 并创建 POST 方法【英文标题】:How can I Insert data from code to Db and create POST method 【发布时间】:2021-09-30 08:31:28 【问题描述】:

实体框架 我必须将代码中的数据插入到 Db 中,并且必须创建 POST 方法。为此,我制作了 Employee 控制器,但我在代码中遇到了一些错误。这是我的代码:

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using VENUS.HRMS.DATA.Models;

namespace VENUS.HRMS.API.Controllers

    [Route("api/[controller]")]
    [ApiController]
    public class EmployeeController : ControllerBase
    
        [HttpPost]
        public TblEmployee InsertTblEmployee(TblEmployee _tblemployee)
        
            using (TblEmployeesEntities entities = new TblEmployeesEntities())
            
                entities.TblEmployees.Add(_tblemployee);
                entities.SaveChanges();
            

            return _tblemployee;
        
    

我在 TblEmployeesEntities 实体 = 新 TblEmployeesEntities 上遇到错误。 请帮帮我。

【问题讨论】:

您得到的具体错误是什么?您使用哪个版本的 .net? 我收到错误 CS0246。我正在使用 .net5 能否请您提供您的 DBcontext 源代码。 【参考方案1】:

我想这个示例代码可以帮助你。像下面这样编写您的 DBcontext:

public partial class TblEmployeesEntities : DbContext
    
        public TblEmployeesEntities ()
         
        public TblEmployeesEntities (DbContextOptions<TblEmployeesEntities> options)
            : base(options)
         
        public virtual DbSet<TblEmployee> TblEmployees get; set; 
    

如果你的 DBMS 是 SQL server,那么是时候在启动时注入 dbcontext。

public void ConfigureServices(IServiceCollection services)
        

            services.AddDbContext<TblEmployeesEntities >(options =>   
    options.UseSqlServer("ConnectionString"));

            
        

现在只需在控制器中创建一个构造函数并使用 DbContext:

private readonly TblEmployeesEntities _context;

public EmployeeController (TblEmployeesEntities context)

    _context = context;

[HttpPost]
public TblEmployee InsertTblEmployee(TblEmployee _tblemployee)

        _context.TblEmployees.Add(_tblemployee);
        _context.SaveChanges();

    return _tblemployee;

【讨论】:

我必须使用哪个控制器?我是说 MVC 还是 API 控制器? 我也应该在Data文件夹中添加一些东西吗?? 你已经创建的控制器是真的,你不需要任何东西。但是你需要安装一些包并进行迁移,如果你还没有这样做的话 当我测试我的应用程序时,它给了我 ERROR404 和你给我的一样

以上是关于如何将数据从代码插入 Db 并创建 POST 方法的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 POST-API 将数据插入 MongoDB DB?

测试将数据插入 mongodb 数据库的 POST 方法单元测试

如何使用 Apache Apex 将数据从 DB2 批量摄取到 Vertica

如何使用自定义插件将值插入 Joomla 2.5 DB

PHP的POST方法和操作数据库的代码

将 JSON 文本插入 DB2 表