EF提供三种开发模式,分别是DBFirst ,ModelFirst,CodeFirst,最最重要的就是CodeFirst了,因为在EFCore中,只支持Codefirst了。
CodeFirst从字面意思来看,就是从实体类反向生成数据表到数据库里面去,废话也不多说了,直接开撸吧。
打开VS2017,新建一个.Net Core的控制台程序(之所以会用.Net Core来写,是因为以后主流的还是会是.Net core嘛 ,用新不用旧嘛,咱们也要跟上时代潮流),然后在保管理器中输入EF安装命令
install-package MySql.Data.EntityFrameworkCore -pre
因为我操作系统上安装的是Mysql,所以我导入的包是Mysql的包,如果是sqlserver的话,那么你可以使用
Install-Package Microsoft.EntityFrameworkCore.SqlServer
新建一个类SqlTestContext,然后继承自***DbContext***,代码如下
class SqlTestContext:DbContext
{
public DbSet<Users> Users { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySQL("Data Source=数据库地址;port=端口;Initial Catalog=数据库名称;user id=账号;password=密码;");
}
}
贴下Users类
public class Users
{
public int Id { get; set; }
public string UserName { get; set; }
public string Pwd { get; set; }
}
好了,就这样,就可以使用了,
class Program
{
static void Main(string[] args)
{
SqlTestContext context = new SqlTestContext();
context.Database.EnsureCreated();
context.Users.Add(new Users() {UserName = "妹爷", Pwd = "630"});
Console.WriteLine(context.SaveChanges()>0?"成功":"失败");
}
}
我这里使用的 是** context.Database.EnsureCreated();**创建的数据库,当然你也可以使用 dotnet ef 命令来像之前的EF6一样去更新数据库,好了,就写到这里了,我点的鸭腿盖饭到了,吃饭去了
最后问一句,有愿意进群斗图的?没有的话,我下一篇博客再来问,群号 80669150 .Net跨平台技术交流
当然你要是手机QQ的话,也可以扫描二维码进群