提纲:
- 如果设置何种数据库和数据库连接字符串
- EFCore 如何获知表主键
- 如何将项目的变动更新到数据库
- 安装 EFCore 的数据库驱动
如何设置数据库连接?
通过覆盖 DbContext的 OnConfiguraturing方法可以配置数据库类型和数据库的连接字符串protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseLoggerFactory(ConsoleLoggerFactory) //使用log插件.EnableSensitiveDataLogging() //此处将输入的参数也输出在Console中.UseSqlServer(connectionString: "Data Source=.;Initial Catalog=FSLab;User ID=sa;Password=Atser123");}
如何设置context取消追踪的全局变量
public DemoContext(){ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; //这里是指对追踪进行释放的意思,并且设为全局变量}
表的主键如何决定?
- 如果存在 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
Microsoft.EntityFrameworkCore.Tools — 安装 EFCore的项目管理工具
Microsoft.EntityFrameworkCore.Designer —需要安装Add-Migration InitialCreate 为迁移搭建基架,以便为模型创建一组初始表Update-Database 命令创建数据库并向其应用新的迁移。
安装EFCore。
Microsoft.EntityFrameworkCore.SqlServer
**
