创建数据库

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

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

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注入到上下文管道中
        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

例子如下:

{
"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的依赖注入

        public Startup(IConfiguration configuration)
{
Configuration = configuration;
}

j

将这部分代码:

   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));
}

  修改为:

   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 连接数据库(通过数据库生成Modell)的更多相关文章

  1. .Net Core 从MySql数据库生成实体类 Entity Model

    1.首先建测试库 2.新建一个.Net Core 项目 3. cd到项目里面执行命令: dotnet add package MySql.Data.EntityFrameworkCore 4.继续执行 ...

  2. .NET Core实战项目之CMS 第十一章 开发篇-数据库生成及实体代码生成器开发

    上篇给大家从零开始搭建了一个我们的ASP.NET Core CMS系统的开发框架,具体为什么那样设计我也已经在第十篇文章中进行了说明.不过文章发布后很多人都说了这样的分层不是很合理,什么数据库实体应该 ...

  3. C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求

    C# 动态创建SQL数据库(二) 使用Entity Framework  创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...

  4. .Net Core建站(1):EF Core+CodeFirst数据库生成

    emmm,本来想着用Core做一个小项目玩玩的,然后肯定是要用到数据库的, 然后想,啊,要不用CodeFirst,感觉很腻害的样子,于是,一脸天真无邪的我就踏入了一个深不见底的天坑... 本来想着,应 ...

  5. 【ASP.NET Core】EF Core 模型与数据库的创建

    大家好,欢迎收看由土星卫视直播的大型综艺节目——老周吹逼逼. 今天咱们吹一下 EF Core 有关的话题.先说说模型和数据库是怎么建起来的,说装逼一点,就是我们常说的 “code first”.就是你 ...

  6. DataUml Design 教程7 - 数据库生成模型

    DataUml Design支持数据库生成模型,并支持外键关系,能够根据外键自动生成类与类之间的关系. 目前DataUML Design支持MS Server.MY SQL.Oracle和Access ...

  7. ASP.NET Core Identity自定义数据库结构和完全使用Dapper而非EntityFramework Core

    前言 原本本节内容是不存在的,出于有几个人问到了我:我想使用ASP.NET Core Identity,但是我又不想使用默认生成的数据库表,想自定义一套,我想要使用ASP.NE Core Identi ...

  8. powerdesigner连接postgresql数据库生成pdm及word文档

    1.准备软件: powerdesigner165与postgresql的驱动:psqlodbc_11_01_0000 2.安装并破解完成powerdesigner165 参看链接:https://ww ...

  9. Rafy 框架 - 为数据库生成注释

    当开发者使用 CodeFirst 开发模式,编写了大量的实体类,在代码中编写了完整的类型注释和属性注释,并自动生成数据库后,往往需要把实体类型和实体属性上的注释同时生成到对应的数据库表及字段上.这样, ...

随机推荐

  1. H3C 使用tracert命令

  2. js三大框架出现的意义

    解决了原始html,css,js的UI与数据状态之间同步的难题,避免了大量的操作DOM代码. 使用了React,Angular和Vue,我们只需要定义一次 UI 界面,不再需要为每个操作编写特定的 U ...

  3. C#面试题整理(不带答案)

     1.维护数据库的完整性.一致性.你喜欢用触发器还是自写业务逻辑?为什么?  2.什么是事务?什么是锁?  3.什么是索引,有什么优点?  4.视图是什么?游标是什么?  5.什么是存储过程?有什么优 ...

  4. python代码规范以及函数注释规范

    摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见​PEP7.本文和​PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide&g ...

  5. Vijos1788 第K大 [模拟]

    1.题意:给定N个数字,和一个值K,要求输出一组数据中第K大的数字,其中30%的测试点满足:n <= 100;60%的测试点满足:n <= 1000;100%的测试点满足:n <= ...

  6. F4与F1对比

  7. python写冒泡排序

    冒泡就是重复地遍历要排序的数列,一次比较两个元素(泡泡),如果他们的顺序错误就把他们交换过来,像泡泡一样,依次按照顺序上升排列. 冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大(升序) ...

  8. flask的url处理器(url_defaults和url_value_preprocessor)

    url处理器的作用:对于一部分资源, 你并不是很清楚该如何设定其 URL 相同的部分.例如可能有一些URL包含了几个字母来指定的多国语言语种,但是你不想在每个函数里都手动识别到底是哪个语言 rom f ...

  9. Ecshop在模板中判断用户是否登陆,获取用户等级信息

    ecshop模板中smarty怎样判断用户等级.用户id.用户昵称用户名,请看以下方法,使用全局变量 <!-- {if $smarty.session.user_rank gt 1}--> ...

  10. js中的事件冒泡

    事件冒泡和阻止事件冒泡: 事件冒泡的原理:从实际操作的元素(事件)向上级父元素一级一级执行下去,直到达到document/window,冒泡过程结束.例如:假设我有一个 div 盒子,里面嵌套了1个子 ...