zoukankan      html  css  js  c++  java
  • .net core 根据数据库生成实体类

        微软最近几年在跨平台上不断发力,很多.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

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

      

  • 相关阅读:
    linux项目部署学习(1) pyhton3的虚拟环境virtualenv和virtualenvwrapper详解
    linux下pip查看安装包的路径、和指定安装目录
    python+selenium实现长截图
    selenium设置chrome浏览器保持登录方式两种options和cookie
    linux中离线安装django
    理解 bashrc 和 profile
    Django部署阿里云服务时候报错:SQLite 3.8.3 or later is required (found 3.7.17)
    Django的django-admin工具详解
    Yum Install --Downloadonly 离线下载依赖包研究
    分治法求n个点中的最近距离
  • 原文地址:https://www.cnblogs.com/nowar/p/6904644.html
Copyright © 2011-2022 走看看