网站推广策划思维导图,seo怎么做网站内容,企业邮箱号码,网站宝建站环境Visual Studio 2017 最新版本的.NET Core 2.0 SDK最新版本的 Windows PowerShell开始搭建1、在 Visual Studio 2017 中创建新项目“文件”“新建”“项目”从左侧菜单中选择“已安装”“模板”“Visual C#”“.NET Core”。选择“ASP.NET Core Web 应用… 环境Visual Studio 2017 最新版本的.NET Core 2.0 SDK最新版本的 Windows PowerShell开始搭建1、在 Visual Studio 2017 中创建新项目“文件”“新建”“项目”从左侧菜单中选择“已安装”“模板”“Visual C#”“.NET Core”。选择“ASP.NET Core Web 应用程序”。输入“EFGetStarted.AspNetCore.NewDb”作为名称然后单击“确定”。在“新建 ASP.NET Core Web 应用程序”对话框中确保在下拉列表中选择“.NET Core”和“ASP.NET Core 2.0”选项选择“Web 应用程序(模型视图控制器)”项目模板确保将“身份验证”设置为“无身份验证”单击“确定”2、安装 Entity Framework Core工具”“NuGet 包管理器”“包管理器控制台”1.1、安装数据库提供程序MsSql运行Install-Package Microsoft.EntityFrameworkCore.SqlServerMySql运行柚子Install-Package Pomelo.EntityFrameworkCore.MySql或者官方:Install-Package MySql.Data.EntityFrameworkCore -Version 8.0.111.2、安装程序包管理器控制台运行Install-Package Microsoft.EntityFrameworkCore.Tools1.3、安装设计包运行Install-Package Microsoft.EntityFrameworkCore.Design数据据库提供程序设计包 (EF Core 2.0 不再需要)MsSql运行Install-Package Microsoft.EntityFrameworkCore.SqlServer.DesignMySql运行Install-Package Pomelo.EntityFrameworkCore.MySql.DesignDB First——从现有数据库创建模型MySql运行Scaffold-DbContext -Connection Serverlocalhost;User Idroot;Password123456;Databasevanfj -Provider Pomelo.EntityFrameworkCore.MySql -OutputDir ModelsMsSql运行Scaffold-DbContext -Connection Serverlocalhost;User Idroot;Password123456;Databasevanfj -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models使用说明将Connection中的连接字符串替换为自己的数据库连接将OutputDir中的Models替换为自己要生成的文件目录名Code First——从模型生成到数据库1、创建模型1.1、创建上下文public class SchoolContext : DbContext{public SchoolContext(DbContextOptionsSchoolContext options) : base(options){}public DbSetCourse Courses { get; set; }public DbSetEnrollment Enrollments { get; set; }public DbSetStudent Students { get; set; }protected override void OnModelCreating(ModelBuilder modelBuilder){modelBuilder.EntityCourse().ToTable(Course);modelBuilder.EntityEnrollment().ToTable(Enrollment);modelBuilder.EntityStudent().ToTable(Student);}}public class Student{public int ID { get; set; }public string LastName { get; set; }public string FirstMidName { get; set; }public DateTime EnrollmentDate { get; set; }public ICollectionEnrollment Enrollments { get; set; }}public enum Grade {A, B, C, D, F}public class Enrollment{public int EnrollmentID { get; set; }public int CourseID { get; set; }public int StudentID { get; set; }public Grade? Grade { get; set; }public Course Course { get; set; }public Student Student { get; set; }}{A, B, C, D, F}public class Enrollment{public int EnrollmentID { get; set; }public int CourseID { get; set; }public int StudentID { get; set; }public Grade? Grade { get; set; }public Course Course { get; set; }public Student Student { get; set; }}public class Course{[DatabaseGenerated(DatabaseGeneratedOption.None)]public int CourseID { get; set; }public string Title { get; set; }public int Credits { get; set; }public ICollectionEnrollment Enrollments { get; set; }}1.2、Startup文件注入上下文EF Core在版本 2.0 中引入了一种在依赖关系注入中注册自定义 DbContext 类型的新方法即以透明形式引入可重用 DbContext 实例的池。 要使用 DbContext 池请在服务注册期间使用 AddDbContextPool 而不是 AddDbContextpublic void ConfigureServices(IServiceCollection services){services.AddDbContextPoolSchoolContext(options options.UseMySql(Configuration.GetConnectionString(DefaultConnection)));services.AddMvc().AddJsonOptions(options options.SerializerSettings.ReferenceLoopHandling Newtonsoft.Json.ReferenceLoopHandling.Ignore);}1.3、appsettings.json文件添加连接字符串{ConnectionStrings: {DefaultConnection: Serverlocalhost;User Idroot;Password123456;Databasevanfj},Logging: {IncludeScopes: false,LogLevel: {Default: Warning}}}2、执行NuGet命令创建数据库2.1、为迁移搭建基架运行Add-Migration InitialCreate2.2、将新迁移应用到数据库运行Update-DatabaseEF Core 2.0 NuGet命令Get-Help about_EntityFrameworkCore 获取EF Core命令帮助添加一个迁移数据库 迁移的名称 目录及其子命名空间路径是相对于项目目录。 默认值为Migrations。Add-Migration -Name String -OutputDir String Add-Migration InitialCreate 第一次执行初始化用这个删除上次的迁移数据库 不检查以查看迁移是否已应用到数据库。Remove-Migration -Force目标迁移。 如果为0将恢复所有迁移。 默认到最后一个迁移。Update-Database Update-Database LastGoodMigration 还原迁移删除数据库 显示的数据库会被丢弃但没有删除它Drop-Database -WhatIfGet-DbContext 获取有关 DbContext 类型的信息从数据库更新DbContext和实体的类型Scaffold-DbContext -Connection String 数据库的连接字符串。-Provider String 要使用的提供程序。 例如 Microsoft.EntityFrameworkCore.SqlServer)-OutputDir String 要将文件放入的目录。 路径是相对于项目目录。--Context String 若要生成的 dbcontext 名称。-Schemas String[] 要生成实体类型的表架构。-Tables String[] 要生成实体类型的表。-DataAnnotations 使用属性来配置该模型 如果可能。 如果省略则使用仅 fluent API。-UseDatabaseNames 使用直接从数据库表和列名称。-Force 覆盖现有文件。从迁移中生成的 SQL 脚本Script-Migration-From String 开始迁移。 默认值为 0 初始数据库-To String 结束的迁移。 默认到最后一个迁移-Idempotent 生成可以在任何迁移的数据库使用的脚本-Output String 要将结果写入的文件原文地址https://www.cnblogs.com/lwc1st/p/8966347.html .NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com