创建数据库

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

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

CREATE DATABASE [Blogging];
GO USE [Blogging];
GO CREATE TABLE [Blog] (
[BlogId] int NOT NULL IDENTITY,
[Url] nvarchar(max) NOT NULL,
CONSTRAINT [PK_Blog] PRIMARY KEY ([BlogId])
);
GO CREATE TABLE [Post] (
[PostId] int NOT NULL IDENTITY,
[BlogId] int NOT NULL,
[Content] nvarchar(max),
[Title] nvarchar(max),
CONSTRAINT [PK_Post] PRIMARY KEY ([PostId]),
CONSTRAINT [FK_Post_Blog_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [Blog] ([BlogId]) ON DELETE CASCADE
);
GO INSERT INTO [Blog] (Url) VALUES
('http://blogs.msdn.com/dotnet'),
('http://blogs.msdn.com/webdev'),
('https://www.cnblogs.com/Extnet/')
GO

添加所需要DLL

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

逆向生成数据库模型

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

在 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. 腾讯云centos服务器不能登录的解决过程

    在腾讯云上申请了一个centos服务器,最基础的配置,1 核 1 GB 1 Mbps,50G硬盘,主要用来测试程序,练手用.在上面配置了一个mysql数据库,一直使用都没什么问题. 1 问题描述 过了 ...

  2. MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

    一.问题描述: 当我们配置好MySQL主主同步时,是可以实现主主同步,但是重启机器后就发现无法同步了. 二.Slave两个关键进程: mysql replication 中slave机器上有两个关键的 ...

  3. 什么是ZooKeeper?

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 上次写了一篇 什么是消息队列?以后,本来想入门一下K ...

  4. eclipse中运行出错:无法初始化主类的解决办法

    问题描述:eclipse中运行程序时,出现如下错误 解决办法: 出现此类:无法初始化主类有可能是因为eclipse中Java的版本与JDK的版本不匹配,我开始用的时候eclipse中用的是Java s ...

  5. PowerDesigner制作UMI图

    首先我们要下载一个PowerDesigner,自己上百度下载哈!嘻嘻!!! 我这个是汉化版的 然后点这个,再到空白的地方点一下就创建好了. 然后单击右边箭头然后双击 不管是制作的图还是代码生成的图都可 ...

  6. WordPress怎样设置菜单栏旋转小图标

    最近我在浏览别的博客的文章时,无意间发现了一个很好看的小装饰.那就是在WordPress菜单栏上的小图标.于是我研究了研究,弄到了设置方法之后决定把它分享出来. 菜单栏的小图标 设置步骤: 1, 我们 ...

  7. 开源ERP Odoo仓存功能模块深度应用(一)

    基本功能 库位 库位是一个逻辑存货区,可以是一个物理库区,可以是一个货架.货架上的一个货位.库位可以有子库位 库位有虚拟库位和实际库位,实际库位是实际存放货物的库位,虚拟库位是因复式库存记账而虚构的库 ...

  8. 2018-08-20 中文代码之Spring Boot集成H2内存数据库

    续前文: 中文代码之Spring Boot添加基本日志, 源码库地址相同. 鉴于此项目中的数据总量不大(即使万条词条也在1MB之内), 当前选择轻量级而且配置简单易于部署的H2内存数据库比较合理. 此 ...

  9. 需求分析&用例编写

    一.需求分析? 1.什么是需求 软件产品必须完成的是以及必须具备的品质. 功能性需求:产品必须完成的那些事,要求一定的功能和品质. 例子:淘宝的用户名登录. 非功能性需求:产品必须具备的属性和品质.诸 ...

  10. iOS 11: CORE ML—浅析

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/OWD5UEiVu5JpYArcd2H9ig 作者:l ...