麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目

摘要:
虽然该方法不会用在实际开发中,但该过程对于初学者还是非常友好的,真应了麻雀虽小,五脏俱全这句话了。EFcore更多内容点击这里。sqlite是一款轻量级数据库,可使用数据库查看器查看。

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

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

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

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第1张

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

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

Microsoft.EntityFrameworkCore.Sqlite

Microsoft.EntityFrameworkCore

导入方式有两种:

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

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

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第2张

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

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第3张

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

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

    //歌曲信息
    public classMusic
    {
        //歌曲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 classGenre
    {
        //歌曲流派Id及流派名
        public int Id { get; set; }
        public string Name { get; set; }

        //该流派的歌曲集合
        public IEnumerable<Music> Musics { get; set; }
    }

    //歌手信息
    public classSinger
    {
        //歌手id
        public int Id { get; set; }
        //歌手名字
        public string Name { get; set; }
        //歌手生日
        public int BirthYear { get; set; }
    }

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

这里要using Microsoft.EntityFrameworkCore;

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

usingMicrosoft.EntityFrameworkCore;
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Threading.Tasks;

namespacetest.Models
{
    public classMyContext: 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; }
    }
}

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 + Sqlite 5分钟快速上手一个小项目第4张

5.生成数据库

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

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

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第5张

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

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第6张

6.添加控制器

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第7张

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

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第8张

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

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第9张

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

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第10张

7.运行试试

添加歌手界面

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第11张

添加了以后:

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第12张

完成!!

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

麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目第13张

免责声明:文章转载自《麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何入门Pytorch之一:Pytorch基本知识介绍关于值类型与列类型不匹配,所需类型是 DataRow"的解决方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android 让你的 Room 搭上 RxJava 的顺风车 从重复的代码中解脱出来

什么是 Room ? 谷歌为了帮助开发者解决 Android 架构设计问题,在 Google I/O 2017 发布一套帮助开发者解决 Android 架构设计的方案:Android Architecture Components,而我们的 Room 正是这套方案的两大模块之一。 定义:数据库解决方案 组成:Database、Entity、DAO 为...

SQL语句的三大类

数据定义语言(DDL Data Defination Language):用于创建和定义数据库对象,并且将对这些对象的定义保存到数据库字典中,通过DDL语句可以创建数据库对象、修改数据库对象、删除数据库对象等。 数据控制语言(DCL Data Control Language):用于修改数据库结构的操作权限。 数据操纵语言(DML Data Manipul...

SQLite安装和调用

  想把项目的SQL SERVER数据库换掉,因为SQL SERVER过于庞大,而我的项目只是小型的桌面应用程序。   网上搜了一下,发现了SQLite,真是个好东西,无需安装和部署,关键是客户电脑什么都不用装就能使用数据库,大小只有1M多,正是我想要的。   花了半天时间,把项目的数据库替换掉,SQL语句基本都能用,只修改了个别语句。把SQLite的用法...

oracle数据库割接解决方案一

一、需求 1、由于新版本上线替换旧版本、两个版本互不兼容、数据库里面有些表不一致,比如表名、字段等等。 2、要全部保留旧数据库里面的数据信息,同时要保证数据唯一性、正确性、可靠性--完整性。 3、新版本在数据切割后可以正常运行,整个系统的功能正常、计费正确等。 二、根据需求,下面将对解决方案进行分解: 1、由于旧数据库的编码是gbk,而新的数据库是utf-...

主机入侵主流手法

一, 错误的配置 错误的配置有系统环境的配置不当和系统应用的配置不当,例如普通用户具有管理员权限、使用应用程序的默认配置等等,通过google或者baidu都可以使用搜索语法直接搜索到有配置漏洞的网站和服务器,例如phpmyadmin,MySQL默认配置,sqlserver sa空口令,以及任意文件读取,黑客可以通过这些轻而易举地入侵存在这些漏洞的服务器...

SqlServer数据库主从同步

分发/订阅模式实现SqlServer主从同步 在文章开始之前,我们先了解一下几个关键的概念: 分发服务器分发服务器是负责存储在同步过程中所用复制信息的服务器。可以比喻成报刊发行商。 分发数据库分发数据库用于存储发布数据库所做的更改。它还可以存储快照和合并发布的历史信息。存在于系统数据库中,默认为destribution. 发布服务器使服务器能够成为发布...