2020-03-28-10:07 EFCore 入门
2020-03-29 本文已影响0人
daiwei_9b9c
提纲:
- 如果设置何种数据库和数据库连接字符串
- EFCore 如何获知表主键
- 如何将项目的变动更新到数据库
- 安装 EFCore 的数据库驱动
如何设置数据库连接?
通过覆盖 DbContext的 OnConfiguraturing方法可以配置数据库类型和数据库的连接字符串
EFCore 自带了 Sqlite 的数据库驱动
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite("Data Source=c:\\temp\\blogging.db");
表的主键如何决定?
- 如果存在 Id 属性,则 Id为主键
- 如果存在 类名称Id,则类名Id为主键(例如, BlogId)
项目配置中 StartWorkingDirectory 节点的作用
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
$(MSBuildProjectDirectory) 这个是对当前工程文件目录的引用,即项目文件所在目录的绝对路径
StartWorkingDirectory 表示在 VS中运行项目时,将以项目文件所在目录为工作目录,将从工作目录中寻找资源和文件;
但这个不影响终端下的执行方式,终端下执行时,总是以 exe文件所在目录作为相对目录
<StartWorkingDirectory>$(MSBuildProjectDirectory)</StartWorkingDirectory>
</PropertyGroup>
如何把变动更新到数据库
// https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/powershell
Install-Package Microsoft.EntityFrameworkCore.Tools -- 安装 EFCore的项目管理工具
Add-Migration InitialCreate 为迁移搭建基架,以便为模型创建一组初始表
Update-Database 命令创建数据库并向其应用新的迁移。
安装EFCore
EFCore 自带有 Sqlite驱动,
安装EFCore SQLServer 包: Install-Package Microsoft.EntityFrameworkCore.SqlServer