標籤:否則 root http 測試 class tab 如何 string context
上篇文章介紹了如何在dotnetcore下使用Dapper串連MySql,這裡再介紹使用使用EntityFrameworkCore 串連 MySql。
建立控制台項目,安裝下面兩個nuget包:
Install-Package Microsoft.EntityFrameworkCoreInstall-Package MySql.Data.EntityFrameworkCore -Pre
定義兩個類及Context:
public class BlogContext:DbContext { protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseMySQL("server=10.255.19.111;database=mydb;uid=root;pwd=yourpassword;"); } public DbSet<Blog> blog { get; set; } public DbSet<User> User { get; set; } } public class Blog { public int Id { get; set; } public string Url { get; set; } } [Table("User")] public class User { public int Id { get; set; } public string Name { get; set; } public DateTime CreateTime { get; set; } }
Main中測試:
using (var context = new BlogContext()) { //User user = new User() { Name = "Herry", CreateTime = DateTime.Now }; //context.User.Add(user); Blog blog = new Blog() { Url = "http://mysite.com" }; context.blog.Add(blog); context.SaveChanges(); }
這裡需要注意了:
public DbSet<Blog> blog { get; set; }
如果mysql裡的表名blog是小寫,這裡就要定義成跟表名完全一樣,否則會報錯,在串連MsSqlServer的時候如果表名是Blogs,那麼可以如下定義:
public DbSet<Blog> Blogs { get; set; }
如果表名是Blog,可以使用註解屬性:
[Table("Blog")]public class Blog { public int Id { get; set; } public string Url { get; set; } }
這種註解屬性在mysql裡是不起作用的,所以User上的註解是沒有作用的。
使用EntityFrameworkCore 串連 MySql