EF 基础操做:http://www.cnblogs.com/M-LittleBird/p/5852395.htmlhtml
一、在须要添加的项目上右键点击选择添加ADD.NET 实体数据模型。mysql
二、选择模型内容,选择CodeFirst模型,选择本身须要的类型,这里我选择空的CodeFirst模型sql
三、选择模型后再当前项目中生成 会默认引用 ef 相关 dll,还须要添加mysql相关dll,使用NuGet 安装mysql数据库
添加成功后再项目中会生成如下两个文件json
四、修改App.config中的 数据库链接字符串app
mysqlide
<connectionStrings> <add name="MyContext" connectionString="server=127.0.0.1;user id=root;password=;persistsecurityinfo=True;database=schedule" providerName="MySql.Data.MySqlClient" /> </connectionStrings>
sql serverspa
<connectionStrings> <add name="MyContext" connectionString="Data Source=.;Initial Catalog=xxxx;Persist Security Info=True;User ID=xx;Password=xxx;Connect Timeout=120;" providerName="System.Data.SqlClient" /> </connectionStrings>
五、重名名 Model1 为 MyContext 并修改内容,修改以下3d
namespace BooksStore.Domain { using MySql.Data.Entity; using System; using System.Data.Entity; using System.Linq; [DbConfigurationType(typeof(MySqlEFConfiguration))] public class MyContext : DbContext { //您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config) //使用“Model1”链接字符串。默认状况下,此链接字符串针对您的 LocalDb 实例上的 //“BooksStore.Domain.Model1”数据库。 // //若是您想要针对其余数据库和/或数据库提供程序,请在应用程序配置文件中修改“Model1” //链接字符串。 public MyContext() : base("name=MyContext") { } //为您要在模型中包含的每种实体类型都添加 DbSet。有关配置和使用 Code First 模型 //的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=390109。 //这是示例 改成本身的实体类 public virtual DbSet<MyEntity> MyEntities { get; set; } } //这是示例 改成本身的实体类 public class MyEntity { public int Id { get; set; } public string Name { get; set; } } }
注:实例类名称建议同数据库表名保持一致,这里默认把类名看成数据库表名。code
直接复制上面的MyContext类到core项目中。
使用NuGet添加包:Pomelo.EntityFrameworkCore.MySql。
在Startup类中注册服务,修改以下:
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); //注册mysql服务 services.AddDbContext<SMContext>(options => options.UseMySql(Configuration["ConnectionStrings:DefaultConnection"])); }
在appsettings.json中添加数据库字符串配置,配置以下:
{ "ConnectionStrings": { "DefaultConnection": "server=127.0.0.1;user id=root;password=123456;persistsecurityinfo=True;database=schedule", "DotNetCoreConnection": "Server=(localdb)\\mssqllocaldb;Database=DotNetCoreDb;Trusted_Connection=True;MultipleActiveResultSets=true" }, "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } } }