zoukankan      html  css  js  c++  java
  • 基于Asp.net core + EF + Sqlite 5分钟快速上手一个小项目

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

    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

  • 相关阅读:
    “==” 和 Equals()
    数据持久层的设计
    Jquery Validation :多个按钮都需要做提交验证的解决方案
    留住异常的堆栈信息【throw ex 和 throw 的区别】
    [转] eval() may be evil
    框架结构和脚本跨域的问题
    ue4 材质MipLevels
    spring+json+jquery
    a different object with the same identifier value was already associated with the session错误
    kali 更新国内apt源 (转)
  • 原文地址:https://www.cnblogs.com/mq0036/p/11393651.html
Copyright © 2011-2022 走看看