设为首页 加入收藏

TOP

ASP.NET Core 使用 SQLite 教程,EF SQLite教程,修改模型更新数据库,适合初学者看懂详细、简单教程(一)
2019-09-17 16:51:17 】 浏览:45
Tags:ASP.NET Core 使用 SQLite 教程 修改 模型 更新 数据库 适合 学者 详细 简单

SQLIte 操作方便,简单小巧,这里笔者就不再过多介绍,感兴趣可以到以下博文

https://blog.csdn.net/qq_31930499/article/details/80420246

 文章介绍创建ASP.NET Core 程序,创建模型、上下文,生成数据库,对数据库增删查改。

并对每个过程进行详细介绍,使初学者尽快了解内容和相关知识,避免对某一知识点怀疑、卡在某个位置。


 过程&目录

1 新建ASP.NET Core MVC 应用

  1.1 新建MVC应用

   1.2 引入NuGet 包

 2 新建模型和上下文

  2.1 新建模型类

  2.2 新建上下文

3 配置服务

4 生成数据库

5 使用工具管理SQLite文件

6 生成增删查改基架

7 数据验证


 

1 新建ASP.NET Core MVC 应用

  1.1 新建MVC应用

打开Visual Studio 2017,新建 ASP.NET Web应用程序,选择 MVC(模型视图控制器)。

 

 1.2 引入NuGet 包

   需要 引入 

  • microsoft.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.Sqlite

 引入教程

点击

依赖项

    -右键

       --管理NuGet 程序包

 

轮流输入并安装 microsoft.EntityFrameworkCore  、 Microsoft.EntityFrameworkCore.Sqlite,下面附过程

注:

版本请选择与自己 ASP.NET Core 版本接近的。

笔者版本 ASP.NET Core 版本为 2.1 ,选择的 NuGet 包版本为 2.11。

如果你的 .Net Core 是最新的,那么 NuGet 也选最新的即可。

如果你选择版本后,发现报错,可以再进入 NuGet  重新删除安装。

出现更新提示千万不用更新。


 

 2 新建模型和上下文

这一步建立模型和上下文,后面将会根据这里的代码生成数据库和数据库表!

需要建立一个上下文类和模型类,把模型类包含在上下文类中,上下文类中包含进来的模型类,将会生成对应的数据库表。

下面这代码不用自己操作,只需要看就行。(注意红色加粗部分)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace WebApplication1.Models
{
    public class SqlContext:DbContext
    {
        public SqlContext(DbContextOptions<SqlContext> Options):base(Options)
        {
        }
        public DbSet<A> A { get; set; } //在数据库中生成数据表A

    }

    public class A
    {
        public int ID { get; set; }
       }
public class B { public int ID { get; set; } } }

上面代码,有三个类,

  • 其中  SqlContext 类是上下文类,
  • A、B类为模型类,
  • 但是,只让A生成数据库表,而B不会生成数据库表。
  • A、B都是模型类,因为可以被生成数据库表,所以A也可以叫实体类,B因为没有 DbSet<B> ,所以B叫模型类,不叫实体类。
  • A类将会生成一个真实的数据库中的表,有对应关系,所以,他是“实体类”。
  • B类没有对应的存在,只是模型,没有实际存在的对象,所以只是叫“模型类”。

 

2.1 新建模型类

上面代码把模型类、上下文类放到同一个文件 SqlContext.cs,这样可读性不太好。

因为一个模型类,代表一个数据表,上下文类相当于一个配置类,一个数据库有几十个表,每个表有几个列,这样会使文件内容过于复杂。

我们可以降低耦合,每个类文件只存在一个类,每个类代表一个表,你要创建几个表,就对应写几个类。

实际操作

在 Models 文件夹中

  • 新建一个类  Users.cs
  • 在类中直接写代码
        public int ID { get; set; }       //主键
        public string Name { get; set; }  //用户名称
        public int Age { get; set; }    //用户年龄
        public int Number { get; set; } //用户手机号码

如图

注:

一个模型类  对应 一个数据表(Table)

模型类的一个属性  对应一个列。

模型类只应出现属性,不应该出现方法等。

 笔者这里只写一个表,如果你想要多个表,可以新建其它类,然后在上下文类中加入。

 

2.2 新建上下文

上面已经建立模型类,模型类将成为数据表(Table)本身。然而他们不能直接对应生成数据表,需要上下文来对模型类映射成数据表,不然他们只是普通的类。

Models 目录新建 类 MyContext.cs

 

在头部引入 EF( EntityFrameworkCore )

using Microsoft.EntityFrameworkCore;

 

重写 MyContext

步骤1 

  public class MyContext

改成

    public class MyContext:DbContext    //表示该类为上下文类,数据库名称为 My,类名称为什么,数据库名就为什么

 

步骤2

在MyContext类中写一个构造函数

        public MyContext(DbContextOptions<MyContext> options) : base(options)
        {

        }

这个构造函数涉及到依赖注入,这里不再赘述,只需要知道这个构造函数能够配置相关设置。

这里的构造函数内容为空,因为暂时没有什么要配置的。

 

步骤3

在构造函数下面加上代码,对模型类进行映射。

        public DbSet<Users> Uaa { get; set; }
//Dbset  映射成一个表
//Dbset<Users>   里面的Users即为使用的模型类
//Uaa      Users 类在数据库生成的名称

注:

上面代码表示以模型类Users为基础,在数据库中生成 名为 Uaa 的 表。

一个上下文对应 一个 数据库,上下文类 MyContext,Context 前面的部分将成为数据库名称。例如 asdwadaaContext,将生成数据库asdwadaa。

一个模型类  对应 一个数据表(Table)

完整代码如下

using System;
using System.Collections.Generic;
using System.L
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Asp.Net Core 轻松学-在.Net Core.. 下一篇IdentityServer4-客户端的授权模..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目