程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> EF 6.0 Code First 遷移MySql數據庫,efmysql

EF 6.0 Code First 遷移MySql數據庫,efmysql

編輯:MySQL綜合教程

EF 6.0 Code First 遷移MySql數據庫,efmysql


一、准備工作     使用NUGET安裝Entity Framework 6,下載MySql Connector/Net 6.9.5   二、創建實體     我們在下面創建了兩個類(博客和文章),並使用了虛擬屬性標識了他們的關系。這使得實體框架具有了延遲加載特性,延遲加載意味著從數據庫加載內容的時候將會自動加載關聯實體的內容(除了我們設置了禁用延遲加載)。    public class Blog { public int BlogId { get; set; } public string Name { get; set; } public virtual List<Post> Posts { get; set; } } public class Post { public int PostId { get; set; } public string Title { get; set; } public string Content { get; set; } public int BlogId { get; set; } public virtual Blog Blog { get; set; } } View Code

 

三、創建Context&生成數據庫     新建一個Blogging類繼承DbContext,在構造函數指定使用的數據庫連接,如果不指定默認是使用MS SQL。     public class BloggingContext : DbContext { public BloggingContext() : base("MySqlServer") { } public DbSet<Blog> Blogs { get; set; } public DbSet<Post> Posts { get; set; } } View Code

 

讀取和寫入數據     運行這個應用程序的時候,EF會自動幫我們創建數據庫如果還沒有創建數據庫。     class Program { static void Main(string[] args) { using (BloggingContext db = new BloggingContext()) { db.Blogs.Add(new Blog { Name = "Another Blog" }); db.SaveChanges(); foreach (var blog in db.Blogs) { Console.WriteLine(blog.Name); } } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } } View Code

 

當執行完成我們就可以去查看生成的數據庫 生成如下     五、更改數據模型 在Package Manager Console輸入 Eable-Migrations 開啟EF遷移功能 運行成功之後會在我們的項目文件下增加Migrations文件夾以及Configuration.cs,這個文件包含遷移Blogging的設置。   對Blogs類增加Url屬性,在剛才的PMC輸入 PM> Add-Migration AddUrl 會報下面錯誤 No MigrationSqlGenerator found for provider 'MySql.Data.MySqlClient'. Use the SetSqlGenerator method in the target migrations configuration class to register additional SQL generators. 最後在http://stackoverflow.com/questions/15142841/no-entity-framework-provider-found-for-mysql-data-mysqlclient-ado-net-provider找到了答應,需要在Context指定mySql的配置文件   在重新運行上面命令正確生成類文件   其實到了這裡還沒有真正的更新數據庫我們還需要執行 Update-Database -Verbose 查看數據庫已經成功更新   六、Fluent API 我們使用這個API來修改數據庫的表設置 在執行修改的遷移命令 成功更新數據庫   參考文檔https://msdn.microsoft.com/en-us/data/jj193542

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved