微软最近几年在跨平台上不断发力,很多.net程序员也摩拳擦掌,对微软寄以厚望。就在最近,微软还推出了asp .net core2.0预览版。

通过对.net core的简单尝试,我发现以往我们开发MVC项目时,是通过新建一个.edmx文件来生成和更新实体模型,但是在core中,微软去掉了.edmx,所以下面我就来说一下core中如何生成model类。

环境:vs2017 + sqlserver2012

第一步   我们先创建测试库

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'),
('http://blogs.msdn.com/visualstudio')
GO

第二步 创建一个.net core项目

 

第三步  安装ef

因为.net core 项目本身没有引用ef,所以我们需要手动引入ef:

Tools -> NuGet Package Manager -> Package Manager Console
Run Install-Package Microsoft.EntityFrameworkCore.SqlServer Run Install-Package Microsoft.EntityFrameworkCore.Tools Run Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design

通过nuget安装:

第四步  通过数据库创建实体模型

Tools –> NuGet Package Manager –> Package Manager Console

Run the following command to create a model from the existing database. If you receive an error stating The term 'Scaffold-DbContext' is not recognized as the name of a cmdlet, then close and reopen Visual Studio.
如果报了上面这个错,可以关掉vs再重新打开后再次尝试。 Scaffold-DbContext "Server=.;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

项目会生成一个model文件夹,里面有我们需要的实体类和上下文BloggingContext.cs

完成!因为我们只介绍如何生成实体类,所以就到此为止,如果想操作实体类增删改查,我们还需要注册上下文在Startup.cs文件里,具体可以参考微软的说明文档:

https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db

别着急走啊!客官!如果本篇文章对你有帮助,请不要吝惜你的赞哦,请推荐一下!!

  

.net core 根据数据库生成实体类的更多相关文章

  1. NetCore +EF+Mysql 从数据库生成实体类到项目

    1.点击“工具”->“NuGet包管理器”->“程序包管理器控制台” 分别安装以下几个包 Mysql 版本: Install-Package MySql.Data.EntityFramew ...

  2. NetCore +EFCore+SqlServer根据数据库生成实体类到项目中

    转载自:https://www.cnblogs.com/yangjinwang/p/9516988.html 1.点击“工具”->“NuGet包管理器”->“程序包管理器控制台” 分别安装 ...

  3. Java的generator工具类,数据库生成实体类和映射文件

    首先需要几个jar包: freemarker-2.3.23.jar log4j-1.2.16.jar mybatis-3.2.3.jar mybatis-generator-core-1.3.2.ja ...

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

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

  5. VS根据数据库生成实体类

    一.在类库项目上添加新项 二. 三.依次填入数据库连接 选择数据库 就可以生成数据库实体

  6. net core 使用ef生成实体类(SqlServer)

    1)打开程序包管理器控制台 2)输入命令  Install-Package Microsoft.EntityFrameworkCore.SqlServer 3)输入命令  Install-Packag ...

  7. idea如何通过数据库生成实体类

    ---恢复内容开始--- https://blog.csdn.net/liu_yulong/article/details/72910588 ---恢复内容结束---

  8. 在eclipse中生成实体类

    1.在eclipse的windows中选中preferences在查询框中输入driver definition 2.点击add在Name/type中选中mysql jdbc driver 5.1然后 ...

  9. java生成实体类的工具内部是如何实现的(mysql)

    一.认识INFORMATION_SCHEMA数据库 INFORMATION_SCHEMA数据库提供了访问数据库元数据(数据的数据)的方式 该数据库中存放有数据库名.表名,列名.列的数据类型等各种数据 ...

随机推荐

  1. 7 AOP

    AOP:Aspect Oriented Programming 面向切面编程.AOP是对面向对象编程的一种补充,在运行时动态地将代码切入到类的指定方法.指定位置的编程思想.将不同的方法的同一位置抽象成 ...

  2. 黑马vue---61、为什么vue组件的data要是一个函数

    黑马vue---61.为什么vue组件的data要是一个函数 一.总结 一句话总结: 因为js中以函数为变量作用域,所以这样可以保证每个组件的数据不互相影响 二.why components data ...

  3. 文件上传对servlet的要求

    request.getParamter(String name)方法不能再使用了 需要使用request.getInputStream()获取输入流对象然后在进行读取数据 解析数据 ServletIn ...

  4. Web前端学习笔记——Canvas

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  5. 010-HTTP协议

    一.概述 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议.它可以使浏览器更加高效,使网络传输减少.它不仅保证 ...

  6. 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_14.RabbitMQ研究-与springboot整合-搭建环境

    我们选择基于Spring-Rabbit去操作RabbitMQ https://github.com/spring-projects/spring-amqp 使用spring-boot-starter- ...

  7. selenium历史版本下载

    python历史版本下载 https://pypi.org/project/selenium/#history java历史版本下载  http://selenium-release.storage. ...

  8. [Scikit-learn] Yield miniBatch for online learning.

    From: Out-of-core classification of text documents Code:  """ ======================= ...

  9. 服务器watchdog看门狗的理解

    1.什么是watchdog?watchdog,中文名称叫做“看门狗”,全称watchdog timer,从字面上我们可以知道其实它属于一种定时器.然而它与我们平常所接触的定时器在作用上又有所不同.普通 ...

  10. css 边框和圆角

    CSS3圆角 border-radius属性 一个最多指定四个border -*- radius复合属性,这个属性允许你为元素添加圆角边框 语法 border-radius:1-4 length|% ...