Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

frankodoom/MySQL-EntityFramework-Code-First

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

8 Commits

Repository files navigation

MySQL-EntityFramework-Code-First

MySQL is a Database Management System from Oracle that currently supports Entity Framework through the MySQL ADO.NET Connector a fully-managed ADO.NET driver for MySQL.. I will go through steps in setting up MySQL with Entity framework 6.1.+ Using Visual Studio.

Note:

This Tutorial also works with MariaDB.

PREREQUISITES

Adding Entity framework
Download Entity Framework From Nugget in Visual Studio,this will automatically reference all needed Microsoft Entity Framework Assemblies in your project
-OR
Run this command in Package Management Console to download Entity Framework
Pm> Install-Package EntityFramework

Reference MySQL Assemblies (NB.These Assemblies are Available after installing the MYSQL Connector for .Net you can also get them on Nuget)

  • MySQL.Data
  • MySQL.Data.Entity

Setting Up The Connection String in your Web.Config or App.Config
Set connection string to your existing MySql Database

<connectionStrings>
 <add name="SellRightDb" providerName="MySql.Data.MySqlClient"connectionString="server=localhost;userid=[your userid];password=[your password]database=sellright;persistsecurityinfo=True"/>
 </connectionStrings>

Entity Framework Configuration
Configuring MySQL to use Entity Framework add the block below to your Web.config or App.config

 <entityFramework>
 <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
 <providers>
 <provider invariantName="MySql.Data.MySqlClient"
 type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"/>
 <provider invariantName="System.Data.SqlClient"
 type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
 </providers>
 </entityFramework>

Create A Simple Model Class

 class Product
 {
 public int ProductId { get; set; }
 public string ProductName { get; set; }
 public double Price { get; set; }
 public int Quantity { get; set; }
 }

Creating Your DBContext Class

Import Namespaces

using System.Data.Entity;
using MySql.Data.Entity;

Configuring your Db Contex Class

// Code-Based Configuration and Dependency resolution
 [DbConfigurationType(typeof(MySqlEFConfiguration))]
 class SellRightContext :DbContext
 {
 
 //Add your Dbsets here
 public DbSet<Product>Products { get; set; }
 public SellRightContext()
 
 //Reference the name of your connection string
 : base("SellRightDb")
 {
 }
 }`

NB.

Enable Code First Migration

PM> Enable-Migrations

Add Code First Migration

PM> Add-Migration [Give Your Migration Settings A name]

Update Database (Specify Verbose to see the SQL Querry that is being executed)

PM> Update-Database -Verbose

You should see your Product Table Created in Your MySql Server

Note:

If you get a System.TypeLoadException when adding a migration, you should try to install a older version of the MySQL packages.
To do so, follow these steps:

  1. Open the Package Manager Console: Tools > NuGet Package Manager > Package Manager Console
  2. Uninstall the current Packages:
PM> Uninstall-Package MySQL.Data
PM> Uninstall-Package MySQL.Data.Entity 
  1. Install the older packages:
PM> Install-Package MySQL.Data -Version [type in the tabulator and you'll see the available versions] `
PM> Install-Package MySQL.Data.Entity -Version [select the same version]

About

πŸ˜† Setting up MySQL .NET Connector using Entity Framework Code First

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /