基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

时间:2023-11-14 11:59:32

虽然该方法不会用在实际开发中,但该过程对于初学者还是非常友好的,真应了麻雀虽小,五脏俱全这句话了。好了不多废话了,直接开始!!

1.建立一个名为test的Asp.net core web应用程序

这一部分的目的是建立项目,并使用MVC框架

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

2.导入依赖项(sqlite数据库 与 EF core)

这一部分的操作目的是可以让我们的项目可以使用操作数据库的一些功能

Microsoft.EntityFrameworkCore.Sqlite

Microsoft.EntityFrameworkCore

导入方式有两种:

1.使用程序包管理器控制台

方法1:在控制台输入 : dotenet add (项目名) package (包名)

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

方法2:直接在工具栏里面的NuGet包管理器里面选择对应的包安装即可。

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

3.建立数据模型和数据库上下文

在models文件夹下建立一个数据模型类Music。

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目
    // 歌曲信息
public class Music
{
// 歌曲ID与名称
public int Id { get; set; }
public string Title { get; set; } // 歌曲的流派ID与所属流派
public int GenreId { get; set; }
public Genre Context { get; set; } // 歌曲的歌手ID以及歌手
public int SingerId { get; set; }
public Singer Owner { get; set; }
} // 流派信息
public class Genre
{
// 歌曲流派Id及流派名
public int Id { get; set; }
public string Name { get; set; } // 该流派的歌曲集合
public IEnumerable<Music> Musics { get; set; }
} // 歌手信息
public class Singer
{
// 歌手id
public int Id { get; set; }
// 歌手名字
public string Name { get; set; }
// 歌手生日
public int BirthYear { get; set; }
}
基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

建立数据库上下文类MyContext,并关联歌曲、流派、歌手数据。

这里要using Microsoft.EntityFrameworkCore;

其中public DbSet<Music> Musics { get; set; }  表示在数据库生成表Musics,同理Genre、Singer

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; namespace test.Models
{
public class MyContext: DbContext
{
public MyContext(DbContextOptions<MyContext> options) : base(options)
{ } public DbSet<Music> Musics { get; set; } public DbSet<Genre> Genres { get; set; } public DbSet<Singer> Singers { get; set; }
}
}
基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

4.配置文件

在Startup类:

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Sqlite;
using test.Models;  //此处根据自己建立的项目而定

在Startup的ConfigureServices添加如下代码:

其中:前一段代码为sqlite数据库的绝对地址,后一段为应用程序与数据库的连接字符串

            string connecttext = "Filename=F:\\core5\\mymusicwakawaka\\mymusicwakawaka\\mymusic.DB";
services.AddDbContext<MyContext>(options => options.UseSqlite(connecttext));

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

5.生成数据库

在程序包管理控制台使用Add-Migration InitialCreate命令生成数据库。

这时候会多出一个文件夹Migrations

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

使用命令Update-Database更新数据库内容。EF core更多内容点击这里

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

6.添加控制器

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

该框架自动定义了以下内容:

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

分别为歌曲、流派、歌手添加对应的控制器。

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

在Share文件夹下的_Layout下添加歌曲、流派、歌手的标签。

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

7.运行试试

添加歌手界面

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

添加了以后:

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

完成!!

sqlite是一款轻量级数据库,可使用数据库查看器查看。

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

出处:https://www.cnblogs.com/WeiMLing/p/11352479.html