找回密码
 会员注册
查看: 135|回复: 0

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

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962992
发表于 2024-2-29 08:17:54 | 显示全部楼层 |阅读模式

环境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

  1. using Microsoft.EntityFrameworkCore; //DbContext
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Threading.Tasks;
  6. namespace WebApplication3.Models
  7. {
  8. public class Model:DbContext
  9. {
  10. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  11. {
  12. optionsBuilder.UseSqlite("Data source=d:/mydb.db"); //创建文件夹的位置
  13. }
  14. public DbSet<Database> Databases { get; set; }
  15. }
  16. public class Database
  17. {
  18. public int Id { get; set; }
  19. public string Name { get; set; }
  20. }
  21. }
复制代码

4.修改Startup.cs

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

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

5.再次运行

网页上的效果还是一样

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

 

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


3.操作数据库

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

  1. // GET api/values
  2. [HttpGet]
  3. public ActionResult<IEnumerable<string>> Get()
  4. {
  5. var database = new Model();
  6. database.Databases.Add(new Database { Name = "张三" });
  7. database.SaveChanges();
  8. return new string[] { "value1", "value2" };
  9. }
复制代码

 

只修改[httpget]下面。

添加三行代码,在执行。

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

已成功添加。

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

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


来源:https://blog.csdn.net/qq_34759481/article/details/85013025
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-27 00:03 , Processed in 0.500393 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表