- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 Entity Framework 中,通过使用 Enable-Migrations
创建一个 Migrations 文件夹,其中包含从 DbMigrationsConfiguration
继承的 Configuration
像这样:
internal sealed class Configuration : DbMigrationsConfiguration<MyDbContext>
{
...
}
所有使用 Add-Migration
创建的迁移也都放在 Migrations 文件夹中。
public partial class Init: DbMigration
{
public override void Up()
{
...
}
public override void Down()
{
...
}
}
我没有找到任何将这两者联系在一起的代码(例如在迁移中有一个配置属性)。我发现的唯一关系是两者都放在同一个文件夹中。如果我有超过 1 个 DbContext
,因此有超过 1 个配置,我想知道如何区分这些 DbMigration
?
问题DbMigration
类如何与Configuration
相关?
最佳答案
它们按惯例相关。默认情况下,它将迁移存储在名为 Migrations 的根文件夹中。您可以在配置的构造函数(https://msdn.microsoft.com/en-us/library/system.data.entity.migrations.dbmigrationsconfiguration(v=vs.113).aspx)中或在启用迁移时覆盖它:
public Configuration()
{
AutomaticMigrationsEnabled = true;
MigrationsDirectory = @"Migrations\Context1";
}
对于多个上下文,使用 -ContextTypeName ProjectName.Models.Context2 -MigrationsDirectory:Migrations\Context2 为每个上下文创建不同的配置和文件夹。这是一个演练:http://www.dotnettricks.com/learn/entityframework/entity-framework-6-code-first-migrations-with-multiple-data-contexts
关于c# - DbMigrationsConfiguration 如何与 EF 中的 DbMigration 相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31267660/
我正在尝试使用 EntityFramework 中的 DbMigrator 类以编程方式初始化 SQL Server 数据库: var configuration = new MyDataBaseAs
我在 Entity Framework 6 中有一个自定义的 IDatabaseInitializer 并注意到了一些奇怪的事情。当调用 DbMigrator.Update 方法时,如果迁移失败事务,
我有两个表:A和B。两个表都填充了数据。 表 A 包含列:col。我想将包含数据的 col 从表 A 移动到表 B。毕竟我想从表 A 中删除 col 。我应该编写原始 sql 来复制数据还是有复制数据
EntityFramework 迁移在切换到新 Context 后变得无用。DbMigrator 使用来自第一个数据库实例的待处理迁移列表,这意味着没有迁移应用于其他数据库,这会导致在 Seed()
使用包管理器控制台时,您可以运行以下命令: PM> Update-Database -Verbose -Verbose 开关会将所有尝试的 SQL 命令写入控制台窗口,这对于调试非常有用。 您可以使用
我正在使用 DbMigrator类以获取挂起的迁移列表。出于某种原因,即使有待处理的迁移,它也不返回任何项目。我错过了一步吗? var configuration = new Migrations.C
我正在 Yii 中编写 CDbMigration 来创建一个带有现有表外键的新表。那很容易。我还想获取旧表中的每个条目,并将其 id、缩略图和 myfunction(title) 复制到新表,然后再将
我正在尝试创建一个服务调用,它将 EF 代码优先数据库更新到最新版本。然而,它总是试图(并且显然失败)执行所有迁移,无论它们是否已经执行。 这是我的代码: var config = n
我在代码优先迁移中有以下代码: public partial class RunSQLInit : DbMigration { public override void Up() {
我正在尝试根据我当前数据库中的数据迁移我的数据库。我很难查询数据库以获取信息以允许我执行此操作。我理想的解决方案看起来像 public partial class Reset: DbMigration
我在使用 DbMigrator 执行迁移时遇到问题,不知何故迁移类没有执行,当然也没有反射(reflect)在数据库中。 我想要实现的是将我的迁移分组到版本中。基本上我有一个版本基类,所有版本都从中派
使用 Entity Framework 迁移时,DbMigration 基类 has a Sql method which takes parameters in an anonymous objec
平台.NET 4.5 和 Entity Framework 6。 问题我有以下代码来执行迁移: //The following function just returns an object of t
我希望能够手动迁移 Up() 方法。目前我正在尝试这样做,但调用包含 CreateTable 方法的方法不会创建表。我怀疑连接设置不正确。并且没有设置它的属性。 我也试过 DbMigrator,但它调
我们在 EF Migrations 6.1.2 中使用新的 DbMigration.SqlFile 方法在我们的迁移中运行迁移脚本。根据the documentation ,该文件必须相对于当前的 A
我们在 SCM 下有一个项目。当我从我的机器构建它并通过 msdeploy 发布到远程服务器时,一切正常。 当我的同事在远程服务器 Entity Framework 4.3.1 DbMigrator
我首先将 EF 代码用于 Web api 系统,但在配置中为我的上下文使用 DbMigrator 会导致 SqlException: ystem.Data.SqlClient.SqlException
我使用以下代码来检查是否有任何待处理的 EF DB 迁移。 var dbConnectionInfo = new DbConnectionInfo(dbConnectionString, "Syste
当我在包管理器控制台中运行 Add-Migration ABC 时,它会创建一个名为 201508210357164_ABC 的文件。文件名包含日期时间前缀,我不需要这个前缀。 如何在每次运行 Add
我刚刚安装了新的 EntityFramework.Migrations 包。我按照本教程搭建了迁移平台:http://blogs.msdn.com/b/adonet/archive/2011/09/2
我是一名优秀的程序员,十分优秀!