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

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

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

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

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

Microsoft.EntityFrameworkCore.Sqlite

Microsoft.EntityFrameworkCore

导入方式有两种:

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

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

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

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

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

    // 歌曲信息
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; }
}

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

这里要using Microsoft.EntityFrameworkCore;

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

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; }
}
}

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));

5.生成数据库

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

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

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

6.添加控制器

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

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

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

7.运行试试

添加歌手界面

添加了以后:

完成!!

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

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

基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目的更多相关文章

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

    虽然该方法不会用在实际开发中,但该过程对于初学者还是非常友好的,真应了麻雀虽小,五脏俱全这句话了.好了不多废话了,直接开始!! 1.建立一个名为test的Asp.net core web应用程序 这一 ...

  2. C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现之方法二:加入缓存机制

    在上一篇文章中我用递归方法实现了管理菜单,在上一节我也提到要考虑用缓存,也算是学习一下.Net Core的缓存机制. 关于.Net Core的缓存,官方有三种实现: 1.In Memory Cachi ...

  3. 如何从40亿整数中找到不存在的一个 webservice Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库 WPF实战案例-打印 RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange

    如何从40亿整数中找到不存在的一个 前言 给定一个最多包含40亿个随机排列的32位的顺序整数的顺序文件,找出一个不在文件中的32位整数.(在文件中至少确实一个这样的数-为什么?).在具有足够内存的情况 ...

  4. 如何基于asp.net core的Identity框架在mysql上作身份验证处理

    首先了解这个概念,我一开始也是理解和掌握基本的概念,再去做程序的开发.Identity框架是微软自己提供,基于.net core平台,可拓展.轻量 级.面向多个数据库的身份验证框架.IdentityS ...

  5. 基于Asp.Net Core的简单社区项目源代码开源

    2019年3月27号 更新版本 本项目基于 ASP.NET CORE 3.0+EF CORE 3.0开发 使用vs2019 +sqlserver 2017(数据库脚本最低支持sql server 20 ...

  6. Asp.net Core + EF Core + Bootstrap搭建的MVC后台通用管理系统模板(跨平台版本)

    Asp.net Core + EF Core + Bootstrap搭建的MVC后台通用管理系统模板(跨平台版本) 原创 2016年07月22日 10:33:51 23125 6月随着.NET COR ...

  7. asp.net core+ef core

    asp.net core+ef core 官方的文档https://docs.asp.net/en/latest/tutorials/first-mvc-app/start-mvc.html 先来看一 ...

  8. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(1)

    最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgz ...

  9. AServer - 基于Asp.net core Kestrel的超迷你http服务器

    AServer是基于ASP.NET Core Kestrel封装的一个超迷你http服务器.它可以集成进你的Core程序里,用来快速的响应Http请求,而不需要集成整个ASP.NET Core MVC ...

随机推荐

  1. python中空列表判断方法总结,欢迎补充

    --代码-- if __name__ == '__main__': l = [] print(l.__len__() == 0) print(l.__sizeof__() == 40) print(l ...

  2. Jmeter在Http Rest接口中自动生成签名(Json格式请求参数)

    第一步: 签名的java类生成jar包,导入到jmeter的lib目录下(依赖的第三方包也要导入) 第二步:编写jmeter脚本,这里使用BeanShell 进行签名串的生成,目录结构如下: Bean ...

  3. [转帖]Zookeeper

    Zookeeper https://www.cnblogs.com/zhang-qc/p/8877082.html   Zookeeper其实是一种为分布式应用所设计的高可用.高性能且一致的开源协调服 ...

  4. 解决 niceScroll 自适应DOM 高度变化

    利用dataTable展示数据列表时,当选择每页显示数量时,滚动条还是按照页面初始化时显示的,导致无法滚动查看下面的数据,  在stackoverflower 找到一个可用的方法,但不知道为什么仅写  ...

  5. Nginx静态服务配置---详解root和alias指令

    Nginx静态服务配置---详解root和alias指令 静态文件 Nginx以其高性能著称,常用与做前端反向代理服务器.同时nginx也是一个高性能的静态文件服务器.通常都会把应用的静态文件使用ng ...

  6. RabbitMQ之消息模式(下)

    目的: RabbitMQ之消息模式(上):https://www.cnblogs.com/huangting/p/11994539.html 消费端限流 消息的ACK与重回队列 TTL消息 死信队列 ...

  7. Linux下使用strip如何对库和可执行文件进行裁减

    如果生成的可执行文件或库比较大,这时候就可以使用strip命令进行裁减,在嵌入式开发中,如果使用的交叉编译工具是arm-linux,则命令 是arm-linux-strip,如果是arm-uclibc ...

  8. MNIST机器学习入门(二)

    在前一个博客中,我们已经对MNIST 数据集和TensorFlow 中MNIST 数据集的载入有了基本的了解.本节将真正以TensorFlow 为工具,写一个手写体数字识别程序,使用的机器学习方法是S ...

  9. 解决使用RabbitTemplate操作RabbitMQ,发生The channelMax limit is reached. Try later.问题

    使用RabbitTemplate操纵RabbitMQ,每个RabbitTemplate等于一个connection,每个connection最多支持2048个channel,当hannel达到2048 ...

  10. Drools 规则文件语法概述

    概述(Overview) 以.drl为扩展名的文件,是Drools中的规则文件,规则文件的编写,遵循Drools规则语法.下面详细介绍一下Drools规则文件语法.具体参考官方文档: https:// ...