1. 创建 EFCoreApp项目
使用 VS2019 新建 net core App 空项目, 其项目配置如下:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
</Project>
2. 安装 EF Core
打开 VS 的 工具 -> NuGet 包管理器, 使用界面或者命令行安装 EF Core
在搜索栏 搜索 ef core
, 选择 ef core 安装:
接收安装许可:
接下来安装 sqlite, 选择 ef core.sqlite 进行安装并接受许可.
查看项目文件可看到已经安装了两个包:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.4" />
</ItemGroup>
</Project>
3. 使用EF Core
EF Core中一个很重要的类是 : DbContext
, 我们需要继承此类 编写数据库操作的代码.
namespace EFCoreApp.Data
{
public class AppDbContext : DbContext
{
public DbSet<KeyValueTable> KeyValues { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.UseSqlite("Data Source=App.db");
}
}
[Table("KeyValue")]
public class KeyValueTable
{
[Key]
public string Id{ get; set; }
[Column("key")]
public string Key { get; set; }
[Column("value")]
public string Value { get; set; }
}
}
这里我们继承了 DbContext 并连接数据库 App.db
, 创建一个数据表: KeyValue
.
然后需要在 App 启动回调中 创建数据库:
namespace EFCoreApp
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
private void App_OnStartup(object sender, StartupEventArgs e)
{
AppDbContext dbContext = new AppDbContext();
dbContext.Database.EnsureCreated();
}
private void App_OnExit(object sender, ExitEventArgs e)
{
}
}
}
启动 运行后我们可以看到 创建的 数据库文件: App.db
, 打开数据库可以看到创建的数据表.
至此, EF Core 的安装使用第一部分到此结束. 下一部分看看 如何进行 数据库的常用操作: 增 改 删 查
4 项目地址
本项目代码地址在此: DevWiki/EFCoreApp