首页 > 代码库 > 使用EntityFrameworkCore 连接 MySql
使用EntityFrameworkCore 连接 MySql
上篇文章介绍了如何在dotnetcore下使用Dapper连接MySql,这里再介绍使用使用EntityFrameworkCore 连接 MySql。
新建控制台项目,安装下面两个nuget包:
Install-Package Microsoft.EntityFrameworkCore
Install-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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。