.net core EFcore model生成数据
创建数据库
(扫盲贴还劳烦大神们勿喷,谢谢)
打开数据库 输入如下代码 创建数据库
- 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生成数据的更多相关文章
- EFCore 通过实体Model生成创建SQL Server数据库表脚本
在我们的项目中经常采用Model First这种方式先来设计数据库Model,然后通过Migration来生成数据库表结构,有些时候我们需要动态通过实体Model来创建数据库的表结构,特别是在创建像临 ...
- Mybaitis-generator生成数据对象和时间的优化
1.本章涉及到知识点,Mybaitis-generator生成数据对象和时间,xml的引用*.properties 外部文件(在这之前必须导入了mybaitis的核心架包) A.在pom.xml的案例 ...
- 我写的一个ExcelHelper通用类,可用于读取或生成数据
读取或生成EXCEL数据的方法有很多,一般常见的有: 1.通过OFFICE EXCEL组件,优点:读取与生成EXCEL文件方便,缺点:服务器上必须安装OFFICE软件,且进程无法及时释放 2.通过第三 ...
- ASP.NET MVC 学习3、Controller左手从Model获取数据,右手传递到View页面
参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-dat ...
- EF Core利用Transaction对数据进行回滚保护
What? 首先,说一下什么是EF Core中的Transaction Transaction允许以原子方式处理多个数据库操作,如果事务已提交,则所有操作都应用于数据库,如果事务回滚,则没有任何操作应 ...
- 数据库和Django model 生成和反向生成
Django 脚本生成数据表 建立映射关系 如果询问时区时间,选1 然后输入timezone.now() python manage.py makemigrations (如果有子应用的话子应用名称填 ...
- .net core利用MySqlBulkLoader大数据批量导入MySQL
最近用core写了一个数据迁移小工具,从SQLServer读取数据,加工后导入MySQL,由于数据量太过庞大,数据表都过百万,常用的dapper已经无法满足.三大数据库都有自己的大数据批量导入数据的方 ...
- mybatis-generator生成数据对象
mybatis-generator生成数据对象 步骤一:在pom文件中添加build的插件 <build> <finalName>doudou</finalName> ...
- 03-EF Core笔记之查询数据
EF Core使用Linq进行数据查询. 基本查询 微软提供了一百多个示例来演示查询,地址:https://code.msdn.microsoft.com/101-LINQ-Samples-3fb98 ...
随机推荐
- Bot Framework 搭建聊天机器人
这周我来跟大家分享的是在Microsoft Build 2016上发布的微软聊天机器人的框架. 现如今,各种人工智能充斥在我们的生活里.最典型的人工智能产品就是聊天机器人,它既可以陪我们聊天,也可以替 ...
- js继承之组合继承(结合原型链继承 和 借用构造函数继承)
在我的前两篇文章中,我们已经介绍了 js 中实现继承的两种模式:原型链继承和借用构造函数继承.这两种模式都存在各自的缺点,所以,我们考虑是否能将这二者结合到一起,从而发挥二者之长.即在继承过程中,既可 ...
- java实现开根号算法
public static void main(String[] args) { long start = System.currentTimeMillis(); double target=9876 ...
- Windows下安装tesserocr
很难受,由于这两天重装了系统,又得重新配置环境了,而我在安装tesserocr的时候踩了一些坑,于是想写出来分享一下. 一.安装tesseract 要安装tesserocr,首先要下载tesserac ...
- Python猫荐书系列之五:Python高性能编程
稍微关心编程语言的使用趋势的人都知道,最近几年,国内最火的两种语言非 Python 与 Go 莫属,于是,隔三差五就会有人问:这两种语言谁更厉害/好找工作/高工资…… 对于编程语言的争论,就是猿界的生 ...
- SpringCloud学习系列之五-----配置中心(Config)和消息总线(Bus)完美使用版
前言 在上篇中介绍了SpringCloud Config的使用,本篇则介绍基于SpringCloud(基于SpringBoot2.x,.SpringCloud Finchley版)中的分布式配置中心( ...
- [PHP] ubuntu下使用uuid扩展获取uuid
1.php生成uuid网上大部分是使用随机数md5截取的,很有可能会重复冲突 2.uuid的组成中最重要的一个是机器码,大部分是网卡MAC地址, php无法获取到机器码,因此不能直接使用代码来生成一个 ...
- 【JDBC 笔记】
JDBC 笔记 作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 对应pdf版:https://download.csdn.net/download/qq_22430159/10754554 没有积分 ...
- string转QBytearray
最近在程序中遇到要把图片的二进制string存成图片到本地,其实就是写文件 structCameraInfo tmpCameraInfo; string strData = tmpCalibrateR ...
- windows设置照片查看器为默认的照片查看软件
复制一下内容到记事本中: 文件名:PotoView.bat 文件内容: @echo off set reg_dir=hklm\SOFTWARE\Microsoft\Windows Photo View ...