三、創建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