提纲:

  1. 如果设置何种数据库和数据库连接字符串
  2. EFCore 如何获知表主键
  3. 如何将项目的变动更新到数据库
  4. 安装 EFCore 的数据库驱动

如何设置数据库连接?

  1. 通过覆盖 DbContext OnConfiguraturing方法可以配置数据库类型和数据库的连接字符串
  2. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  3. {
  4. optionsBuilder.UseLoggerFactory(ConsoleLoggerFactory) //使用log插件
  5. .EnableSensitiveDataLogging() //此处将输入的参数也输出在Console中
  6. .UseSqlServer(connectionString: "Data Source=.;Initial Catalog=FSLab;User ID=sa;Password=Atser123");
  7. }

如何设置context取消追踪的全局变量

  1. public DemoContext()
  2. {
  3. ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; //这里是指对追踪进行释放的意思,并且设为全局变量
  4. }

表的主键如何决定?

  1. 如果存在 Id 属性,则 Id为主键
  2. 如果存在 类名称Id,则类名Id为主键(例如, BlogId)

    项目配置中 StartWorkingDirectory 节点的作用?

    1. <PropertyGroup>
    2. <OutputType>Exe</OutputType>
    3. <TargetFramework>netcoreapp3.0</TargetFramework>
    4. $(MSBuildProjectDirectory) 这个是对当前工程文件目录的引用,即项目文件所在目录的绝对路径
    5. StartWorkingDirectory 表示在 VS中运行项目时,将以项目文件所在目录为工作目录,将从工作目录中寻找资源和文件;
    6. 但这个不影响终端下的执行方式,终端下执行时,总是以 exe文件所在目录作为相对目录
    7. <StartWorkingDirectory>$(MSBuildProjectDirectory)</StartWorkingDirectory>
    8. </PropertyGroup>

    如何把变动更新到数据库?

    // https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/powershell
    Microsoft.EntityFrameworkCore.Tools — 安装 EFCore的项目管理工具
    Microsoft.EntityFrameworkCore.Designer —需要安装
    1. Add-Migration InitialCreate 为迁移搭建基架,以便为模型创建一组初始表
    2. Update-Database 命令创建数据库并向其应用新的迁移。

安装EFCore。

Microsoft.EntityFrameworkCore.SqlServer
**