创建数据库

(扫盲贴还劳烦大神们勿喷,谢谢)

打开数据库 输入如下代码 创建数据库

  1. CREATE DATABASE [Blogging];
  2. GO
  3.  
  4. USE [Blogging];
  5. GO
  6.  
  7. CREATE TABLE [Blog] (
  8. [BlogId] int NOT NULL IDENTITY,
  9. [Url] nvarchar(max) NOT NULL,
  10. CONSTRAINT [PK_Blog] PRIMARY KEY ([BlogId])
  11. );
  12. GO
  13.  
  14. CREATE TABLE [Post] (
  15. [PostId] int NOT NULL IDENTITY,
  16. [BlogId] int NOT NULL,
  17. [Content] nvarchar(max),
  18. [Title] nvarchar(max),
  19. CONSTRAINT [PK_Post] PRIMARY KEY ([PostId]),
  20. CONSTRAINT [FK_Post_Blog_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [Blog] ([BlogId]) ON DELETE CASCADE
  21. );
  22. GO
  23.  
  24. INSERT INTO [Blog] (Url) VALUES
  25. ('http://blogs.msdn.com/dotnet'),
  26. ('http://blogs.msdn.com/webdev'),
  27. ('https://www.cnblogs.com/Extnet/')
  28. GO

添加所需要DLL

  1. “工具”>“NuGet 包管理器”>“包管理器控制台”
    Install-Package Microsoft.EntityFrameworkCore.SqlServer
  2. //我们将使用一些 Entity Framework Tools 从数据库创建模型。 因此,我们也会安装此工具包:
    Install-Package Microsoft.EntityFrameworkCore.Tools
    我们稍后将使用一些 ASP.NET Core 基架工具来创建控制器和视图。 因此,我们也会安装此设计包:
  3. Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

逆向生成数据库模型

  1. Scaffold-DbContext "Server=.;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
  1. //输出目录 -OutputDir Models
    //选中的table -Tables Blog,Post
  1. 如果收到错误 The term 'Scaffold-DbContext' is not recognized as the name of a cmdlet 请关闭并重新打开 Visual Studio
  1. 如果收到错误 Build failed. 请查看一下错误列表,一般重新生成一下再运行上面的命令就ok了。
  1.  

在 Startup.cs 中注册并配置上下文

  • 删除dbcontext中的OnConfiguring方法
  • 打开Stratup.cs
  • 并且引用以下DLL
  • using 你的类库名.Models;
  • using Microsoft.EntityFrameworkCore;
  • 修改Stratup.cs 中的 如下内容并且将DbContext注入到上下文管道中
1
2
3
4
5
6
7
8
public void ConfigureServices(IServiceCollection services)
{
 
    services.AddMvc();
 
    var connection = @"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;ConnectRetryCount=0";
    services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));
}

创建一个基于Model的controller

数据库连接字符串放入配置文件中

打开appsettings.json

添加ConnectionStrings

例子如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "ConnectionStrings": {
    "DefaultConnection""server=.;uid=sa;pwd=*********;Database=******;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "Logging": {
    "IncludeScopes"false,
    "Debug": {
      "LogLevel": {
        "Default""Warning"
      }
    },
    "Console": {
      "LogLevel": {
        "Default""Warning"
      }
    }
  }
}

打开Startup.cs

    输入以下代码

  • using Microsoft.Extensions.Configuration;
  • using Microsoft.Extensions.DependencyInjection;

添加configuration的依赖注入

1
2
3
4
public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

j

将这部分代码:

1
2
3
4
5
6
7
8
public void ConfigureServices(IServiceCollection services)
     {
 
         services.AddMvc();
 
         var connection = @"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;ConnectRetryCount=0";
         services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));
     }

  修改为:

1
2
3
4
5
6
7
8
public void ConfigureServices(IServiceCollection services)
     {
 
         services.AddMvc();
 
         var connection =  Configuration.GetConnectionString("DefaultConnection");
         services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));
     }

  

好了,通过appsettings.json获取数据库连接到这里就ok了。

还需要什么玩意的!麻烦点个赞然后留个言!中不中!?

参考文献

https://docs.microsoft.com/zh-cn/ef/core/get-started/aspnetcore/existing-db 微软官方

https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.1 依赖注入

后记

创建了一个QQ群希望有志之士可以加一下 点击链接加入群聊【.Net Core研究团】:https://jq.qq.com/?_wv=1027&k=5298dNv

.net core EFcore model生成数据的更多相关文章

  1. EFCore 通过实体Model生成创建SQL Server数据库表脚本

    在我们的项目中经常采用Model First这种方式先来设计数据库Model,然后通过Migration来生成数据库表结构,有些时候我们需要动态通过实体Model来创建数据库的表结构,特别是在创建像临 ...

  2. Mybaitis-generator生成数据对象和时间的优化

    1.本章涉及到知识点,Mybaitis-generator生成数据对象和时间,xml的引用*.properties 外部文件(在这之前必须导入了mybaitis的核心架包) A.在pom.xml的案例 ...

  3. 我写的一个ExcelHelper通用类,可用于读取或生成数据

    读取或生成EXCEL数据的方法有很多,一般常见的有: 1.通过OFFICE EXCEL组件,优点:读取与生成EXCEL文件方便,缺点:服务器上必须安装OFFICE软件,且进程无法及时释放 2.通过第三 ...

  4. ASP.NET MVC 学习3、Controller左手从Model获取数据,右手传递到View页面

    参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-dat ...

  5. EF Core利用Transaction对数据进行回滚保护

    What? 首先,说一下什么是EF Core中的Transaction Transaction允许以原子方式处理多个数据库操作,如果事务已提交,则所有操作都应用于数据库,如果事务回滚,则没有任何操作应 ...

  6. 数据库和Django model 生成和反向生成

    Django 脚本生成数据表 建立映射关系 如果询问时区时间,选1 然后输入timezone.now() python manage.py makemigrations (如果有子应用的话子应用名称填 ...

  7. .net core利用MySqlBulkLoader大数据批量导入MySQL

    最近用core写了一个数据迁移小工具,从SQLServer读取数据,加工后导入MySQL,由于数据量太过庞大,数据表都过百万,常用的dapper已经无法满足.三大数据库都有自己的大数据批量导入数据的方 ...

  8. mybatis-generator生成数据对象

    mybatis-generator生成数据对象 步骤一:在pom文件中添加build的插件 <build> <finalName>doudou</finalName> ...

  9. 03-EF Core笔记之查询数据

    EF Core使用Linq进行数据查询. 基本查询 微软提供了一百多个示例来演示查询,地址:https://code.msdn.microsoft.com/101-LINQ-Samples-3fb98 ...

随机推荐

  1. Bot Framework 搭建聊天机器人

    这周我来跟大家分享的是在Microsoft Build 2016上发布的微软聊天机器人的框架. 现如今,各种人工智能充斥在我们的生活里.最典型的人工智能产品就是聊天机器人,它既可以陪我们聊天,也可以替 ...

  2. js继承之组合继承(结合原型链继承 和 借用构造函数继承)

    在我的前两篇文章中,我们已经介绍了 js 中实现继承的两种模式:原型链继承和借用构造函数继承.这两种模式都存在各自的缺点,所以,我们考虑是否能将这二者结合到一起,从而发挥二者之长.即在继承过程中,既可 ...

  3. java实现开根号算法

    public static void main(String[] args) { long start = System.currentTimeMillis(); double target=9876 ...

  4. Windows下安装tesserocr

    很难受,由于这两天重装了系统,又得重新配置环境了,而我在安装tesserocr的时候踩了一些坑,于是想写出来分享一下. 一.安装tesseract 要安装tesserocr,首先要下载tesserac ...

  5. Python猫荐书系列之五:Python高性能编程

    稍微关心编程语言的使用趋势的人都知道,最近几年,国内最火的两种语言非 Python 与 Go 莫属,于是,隔三差五就会有人问:这两种语言谁更厉害/好找工作/高工资…… 对于编程语言的争论,就是猿界的生 ...

  6. SpringCloud学习系列之五-----配置中心(Config)和消息总线(Bus)完美使用版

    前言 在上篇中介绍了SpringCloud Config的使用,本篇则介绍基于SpringCloud(基于SpringBoot2.x,.SpringCloud Finchley版)中的分布式配置中心( ...

  7. [PHP] ubuntu下使用uuid扩展获取uuid

    1.php生成uuid网上大部分是使用随机数md5截取的,很有可能会重复冲突 2.uuid的组成中最重要的一个是机器码,大部分是网卡MAC地址, php无法获取到机器码,因此不能直接使用代码来生成一个 ...

  8. 【JDBC 笔记】

    JDBC 笔记 作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 对应pdf版:https://download.csdn.net/download/qq_22430159/10754554 没有积分 ...

  9. string转QBytearray

    最近在程序中遇到要把图片的二进制string存成图片到本地,其实就是写文件 structCameraInfo tmpCameraInfo; string strData = tmpCalibrateR ...

  10. windows设置照片查看器为默认的照片查看软件

    复制一下内容到记事本中: 文件名:PotoView.bat 文件内容: @echo off set reg_dir=hklm\SOFTWARE\Microsoft\Windows Photo View ...