如何将数据从代码插入 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 方法单元测试