## 讲解EF Core的应用
今天我们学习EF Core,
EF Core他是可以直接在Visual studio 2019使用代码创建数据库的
今天就来讲解一下
首先你需要打开Visual studio创建一个Core的控制台应用,
如图所示:
然后进入我们的控制台应用程序之后你所看到的内容如图:
现在你要右键打开ConsoleApp1后找到NuGet管理包
找到三个包
Microsoft.EntityFrameWorkCore.Design
Microsoft.EntityFrameWorkCore.SqlServer
Microsoft.EntityFrameWorkCore.Tools
后安装不要管软件弹出什么安装就行如图:
安装之后我们需要点击右键在ConsoleApp1创建一个文件Model文件夹,里面我们需要创建两个类,如果你要创建多个也没问题。
一个类为类别类,一个物品类如下图:
创建好文件里的类之后我们需要在里面添加他的封装字段
第一个类:
csharp
using System;
using System.Collections.Generic;
using System.Text;
namespace EFCoreApp.Model
{
public class Category
{
public int CategoryId { get; set; }
public string CategoryName { get; set; }
//导航属性
public ICollection<Product> products { get; set; }
}
}
//切记他们两个是两个不同的类库,放在两个类库里面~!!
```第二个类
using System;
using System.Collections.Generic;
using System.Text;
namespace EFCoreApp.Model
{
public class Product
{
public int ProductId { get; set; }
public string ProductName { get; set; }
public decimal ProductPrice { get; set; }
//外键
public Category Category { get; set; }
}
}
这些类库你写完之后我们就需要连接一个接口了,这个接口是为了连接数据库的,所有我们需要在ConsoleApp1添加一个类,里面我们需要实现接口的创建如图:
里面的代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.EntityFrameworkCore;
using EFCoreApp.Model;
//注:
//**using Microsoft.EntityFrameworkCore;**
//**using EFCoreApp.Model;****这两个using是需要自己手动添加引用
namespace EFCoreApp
{
public class ShowContext:DbContext
{
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
//Data Source 需要自己写数据库名字
//Catalog=ShoopDB 这个是数据表的名字!
optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=ShoopDB;Integrated Security=True;");
}
}
}
写完之后我们就只有最后一步了,
我们需要打开工具=>找到NuGet包管理器=>找到里面的“程序包管理器控制台”后打开它你会发现他是这样的如图:
你需要在PM上输入命令:
第一个命令为:Add-Migration InitailCreate
第一个命令返回的是:
Build started…
Build succeeded.
To undo this action, use Remove-Migration.说明你成功了
第二个命令为:Update-Database
第二个命令返回的是:
Build started…
Build succeeded.
Applying migration ‘20210908082440_InitailCreate’.
Done.说明你又成功了,
然后你就可以在数据库里面找到你创建的表了,“记得需要刷新一下”
你就能看到如图:
你学会了吗?