asp.net core创建web api 并且连接sqlite 使用代码直接创建数据库 code first

环境visual studio 2017免费版,.net core 2.2

1.创建asp.net core web api 项目

.net core 选择当前最新版本,项目选择API类型,不进行身份验证,点击确定。

此时一个web api项目就创建好了。

直接运行,先看效果。

博主在其他电脑上都可以正常运行,但是就在写blog的这台电脑上报错了,提示

在Program.cs文件中找不到webhost

解决的办法就是重新安装一下.net core 2.2,点击repair

重启电脑后,终于可以运行了 浏览器中显示


2.创建sqlite数据库

1.在NuGet中安装

2.创建一个数据库模型的类

新建一个Models的文件夹,在这个文件夹下创建一个Model.cs的类

3.修改这个类

Model.cs

using Microsoft.EntityFrameworkCore; //DbContext
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace WebApplication3.Models
{
    public class Model:DbContext
    {
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
                optionsBuilder.UseSqlite("Data source=d:/mydb.db");    //创建文件夹的位置        
        }

        public DbSet<Database> Databases { get; set; }
    }

    public class Database
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}

4.修改Startup.cs

public void ConfigureServices(IServiceCollection services)
        {
            
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
            using (var database = new Model())    //新增
            {
                database.Database.EnsureCreated(); //如果没有创建数据库会自动创建,最为关键的一句代码
            }
        }

只要在ConfigureServices方法中添加4行代码就可以了,记得要添加一名Model的命名空间哦

5.再次运行

网页上的效果还是一样

但是d盘下面自动创建了mydb.db

Databases的结构和我们创建的Database类一样。


3.操作数据库

修改Controllers文件夹下面的ValuesControllers.cs

 // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
            var database = new Model();
            database.Databases.Add(new Database { Name = "张三" });
            database.SaveChanges();
            return new string[] { "value1", "value2" };
        }

只修改[httpget]下面。

添加三行代码,在执行。

在浏览器中出现   ["value1","value2"]后查看数据库

已成功添加。

说明已经可以操作数据库了。

至于数据详细的增删改查会在以后的博文中写。

猜你喜欢

转载自blog.csdn.net/qq_34759481/article/details/85013025