美文网首页
asp.net core WebAPI利用内存数据库实现CRUD

asp.net core WebAPI利用内存数据库实现CRUD

作者: JADDC | 来源:发表于2019-04-03 16:59 被阅读0次
一、在VS2017中创建名为【CRM】的【ASP.Net Core Web应用程序】
创建应用程序.png
二、在项目中新建Models文件夹,在此文件夹下面创建上下文(CRMContext)和一个UserInfo类

CRMContext文件里的内容如下

public class CRMContext:DbContext
{
    public CRMContext(DbContextOptions<CRMContext> options) : base(options)
    {

    }
    public DbSet<UserInfo> UserInfos { get; set; }
}

UserInfo文件里的内容如下

    public int Id { get; set; }
    public string UserName { get; set; }
    public int Age { get; set; }
    public bool IsDeleted { get; set; }
三、创建UserInfoController,并完成在内容中查询和添加功能

UserInfoController文件里的内容如下

//[Route("api/[controller]")]直接使用[controller]也可以读取到UserInfo,但是controller改名,那接口的名字也会改了
[Route("api/userInfo")]
[ApiController]
public class UserInfoController : ControllerBase
{
    private readonly CRMContext _context;
    public UserInfoController(CRMContext context)
    {
        _context = context;

        if (!_context.UserInfos.Any())
        {
            _context.UserInfos.Add(new UserInfo() { UserName = "Jason",Age = 18,Id = 1,IsDeleted = false});
            _context.UserInfos.Add(new UserInfo() { UserName = "Tom",Age = 23,Id = 2,IsDeleted = false});
            _context.SaveChanges();
        }

    }

    [HttpGet]
    public IEnumerable<UserInfo> GetAll()
    {
        return _context.UserInfos.ToList();
    }

    [HttpGet("{id}", Name = "GetUserInfo")]
    public IActionResult GetById(long id)
    {
        var item = _context.UserInfos.FirstOrDefault(t => t.Id == id);
        if (item == null)
        {
            return NotFound();
        }
        return new ObjectResult(item);
    }

    [HttpPost]
    public IActionResult Create([FromBody] UserInfo item)
    {
        if (item == null)
        {
            return BadRequest();
        }

        _context.UserInfos.Add(item);
        _context.SaveChanges();

        return CreatedAtRoute("GetUserInfo", new { id = item.Id }, item);
    }
}
四、在Startup文件中添加Context服务
        services.AddDbContext<CRMContext>(opt => opt.UseInMemoryDatabase("CRM"));

Startup文件整体效果

图片.png
五、其他
Get All 请求 Get By Id请求 Add 请求 完整的项目截图

相关文章

网友评论

      本文标题:asp.net core WebAPI利用内存数据库实现CRUD

      本文链接:https://www.haomeiwen.com/subject/lqpzbqtx.html