The previous instructions use EF to dynamically create a database and a table. The database uses SQL SERVER2008, which is different when MYSQL is used
I. add EntityFramework.dll, System.Data.Entity.dll, MySql.Data, MySql.Data.Entity.EF6
Note: Entity Framework 5.0.0 (it seems that the latest 6.X does not support mysql)
2. To add dll files, you can use "manage nuget packages" or "nuget package management console" to add
Add with console platform
The following is the dll statement for console platform installation
EntityFramework.dll : Install-Package EntityFramework -Version 5.0.0
MySql.Data : Install-Package MySql.Data -Version 6.9.12
MySql.Data.Entity: Install-Package MySql.Data.Entity -Version 6.9.12
3. Add connectionStrings to the app.config file
Source file
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> </configSections> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.12.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider> </providers> </entityFramework> <system.data> <DbProviderFactories> <remove invariant="MySql.Data.MySqlClient" /> <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.12.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </DbProviderFactories> </system.data> <connectionStrings> <!--<add name="conncodefirst" connectionString="server=127.0.0.1;port=3306;uid=root;pwd=repower;database=code" providerName="MySql.Data.MySqlClient"/>--> <add name="conncodefirst" connectionString="server=127.0.0.1;user id=root;password=repower;database=code" providerName="MySql.Data.MySqlClient" /> </connectionStrings> </configuration>
IV. add class
[Table("Student")] public class Student { public Student() { } [Key] public int StudentID { get; set; } public string StudentName { get; set; } public DateTime AddTime { get; set; } } [Table("Standard")] public class Standard { public Standard() { } public int StandardId { get; set; } public string StandardName { get; set; } public DateTime AddTime { get; set; } }
Add SchoolContext inherit DbContext
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] public class SchoolContext : DbContext { public SchoolContext() : base("name=conncodefirst") { } static SchoolContext() { DbConfiguration.SetConfiguration(new MySql.Data.Entity.MySqlEFConfiguration()); } public DbSet<Student> Students { get; set; } public DbSet<Standard> Standards { get; set; } //protected override void OnModelCreating(DbModelBuilder modelBuilder) //{ // base.OnModelCreating(modelBuilder); //} }
Last call
SchoolContext dbCOntext = new SchoolContext(); //dbCOntext.Database. bool flag = dbCOntext.Database.CreateIfNotExists(); Student stud = new Student() { StudentName = "New Student", AddTime = DateTime.Now }; dbCOntext.Students.Add(stud); dbCOntext.SaveChanges();