zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

    Code First模式

    Code First是指"代码优先"或"代码先行"。

    Code First模式将会基于编写的类和配置,自动创建模型和数据库。

    一、准备工作

    创建一个(.NetCore 类库),命名为NetCoreWebApi.Model。

    通过Nuget程序包安装相关依赖 

    在类库项目上右键->管理NuGet程序包,下面会打开程序包管理器控制台窗口:

    注意版本,因为本人NetCore 是2.2版本,所以程序包都选择了2.2.6

    二、正式开始

    根据.NET中的类来创建数据库。

    在类库项目上右键->添加->新建文件夹,命名为Models,存放相应的实体类。在Models文件夹下面新建实体类:tb_user,实体类的属性如下:

    using System;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    
    namespace NetCoreWebApi.Model.Models
    {
        /// <summary>
        /// 用户表
        /// </summary>
        [Table("tb_User")]
        public class TbUser
        {
            /// <summary>
            /// 用户Id
            /// </summary>
            [Key]
            [Column("userId")]
            [StringLength(32)]
            public string UserId { get; set; }
            /// <summary>
            /// 用户名
            /// </summary>
            [Column("userName")]
            [StringLength(20)]
            public string UserName { get; set; }
            /// <summary>
            /// 邮箱
            /// </summary>
            [Column("email")]
            [StringLength(30)]
            public string Email { get; set; }
            /// <summary>
            /// 创建时间
            /// </summary>
            [Column("createTime")]
            public DateTime CreateTime { get; set; }
        }
    }

    创建数据上下文

    在类库项目上右键->添加->类,命名为MyDbContext,并继承DbContext类,DbContext位Microsoft.EntityFrameworkCore.dll程序集中。

    using Microsoft.EntityFrameworkCore;
    using NetCoreWebApi.Model.Models;
    
    namespace NetCoreWebApi.Model
    {
        public class MyDbContext : DbContext
        {
            public MyDbContext()
            {
            }
            public MyDbContext(DbContextOptions<MyDbContext> options)
                : base(options)
            {
            }
            //定义数据集合:用于创建表
            public DbSet<TbUser> TbUsers { get; set; }
        }
    }

    在appsettings.json中加入连接字符串

    {
      "Logging": {
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "AllowedHosts": "*",
      //数据库连接字符串
      "ConnectionStrings": {
        "SqlServer": "Data Source=.;Initial Catalog=NetCoreWebApi;User Id=sa;Password=123;"
      }
    }

    在Startup.cs类ConfigureServices方法中添加EF的依赖

            /// <summary>
            /// //负责注入服务
            /// </summary>
            /// <param name="services"></param>
            /// <returns></returns>
            public void ConfigureServices(IServiceCollection services)
            {
                //获取数据库连接字符串
                var connectionStr = Configuration.GetConnectionString("SqlServer");
                services.AddDbContext<MyDbContext>
                    (options => options.UseSqlServer(connectionStr,
                        e => e.MigrationsAssembly("NetCoreWebApi.Model")));
                services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
            }

    三、使用命令通过代码生成数据库

    在程序包命令切换到NetCoreWebApi.Model中

    先执行 Add-Migration InitialCreate

    执行成功后会在项目中产生一个Migrations文件夹。里面有个快照文件和一个迁移的文件。

     

    后执行 Update-DataBase

    出现这个就是成功了。

    数据库创建成功!

  • 相关阅读:
    [刷题] PTA 7-32 说反话-加强版
    [算法] 堆
    [笔记] 《c++ primer》显示器程序 Chapter7
    [笔记] 《c++ primer》书店程序 Chapter7
    [c++] <vector>
    [笔记] 《c++ primer》书店程序 Chapter2
    [笔记] 《c++ primer》书店程序 Chapter 1
    253. Meeting Rooms II
    461. Hamming Distance
    252. Meeting Rooms
  • 原文地址:https://www.cnblogs.com/tenghao510/p/11911141.html
Copyright © 2011-2022 走看看