EF - 代码优先 - 自动更新数据库

2024-03-04

我想在代码中使用自动迁移,但是每次我更改模型中的某些内容时,我都需要运行update-Database手动。我可以自动完成吗?

这是配置:

public class Configuration : DbMigrationsConfiguration<ManualContext>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
        AutomaticMigrationDataLossAllowed = true;
    }
    ...
}

And AppActivator:

[assembly: WebActivator.PreApplicationStartMethod(typeof(AppActivator), "PreStart")]
[assembly: PostApplicationStartMethod(typeof(AppActivator), "PostStart")]
[assembly: ApplicationShutdownMethod(typeof(AppActivator), "Stop")]

namespace Manual.Web
{
  public static class AppActivator
  {
    public static void PreStart()
    {
      Database.SetInitializer(
               new MigrateDatabaseToLatestVersion<ManualContext,Configuration>());
      Database.SetInitializer(new ManualDbInitializer());

      MeasurementConfig.RegisterUnits();
      MiniProfilerPreStart();
    }
    ...
  }

和 ManualDbInitializer - 用于种子(第一次创建数据库时):

public class ManualDbInitializer : CreateDatabaseIfNotExists<ManualContext>
{
    protected override void Seed(ManualContext context)
    {
        ManualDbInitializerSeed.SeedForDB(context);
    }
}

如果您正在部署应用程序,您可能希望它在应用程序启动时自动升级数据库(通过应用任何挂起的迁移)。您可以通过注册 MigrateDatabaseToLatestVersion 数据库初始值设定项来完成此操作。数据库初始化程序仅包含一些用于确保数据库设置正确的逻辑。该逻辑在应用程序进程 (AppDomain) 中第一次使用上下文时运行。

http://msdn.microsoft.com/en-us/data/jj591621#initializer http://msdn.microsoft.com/en-us/data/jj591621#initializer

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EF - 代码优先 - 自动更新数据库 的相关文章

  • 如何使用 Entity Framework 和 Moq 进行单元测试?

    我是 Moq 新手 希望将其用作数据后备存储 但不接触实时数据库 我的设置如下 UnitOfWork 包含所有存储库 并用于整个应用程序中的数据访问 Repository 代表 DbSet 的直接挂钩 由 DbContext 提供 DbCo
  • ASP .NET MVC 5 - 客户地址一对一关系

    我在这里查看了论坛 实际上发现了一些类似的问题 但不是相同的问题 类似的解决方案没有给我正确的答案 我正在使用实体框架和代码优先方法来处理 ASP NET MVC 5 我想建立客户 gt 地址一对一关系的模型 我建模的是 客户等级 publ
  • 将多对多关系与实体框架中的属性映射

    我总是使用属性将实体的属性映射到相应的列 这是一个例子 Table news entries public class News Key public int Id get set Column d date public DateTime
  • 我们可以使用枚举作为类型安全的实体 ID 吗?

    我们正在 EF 6 1 代码优先设置中使用一个相当大的模型 并且我们使用整数作为实体 id 不幸的是 这并不像我们希望的那样类型安全 因为人们很容易混淆 id 例如比较不同类型的实体的 id myblog Id somePost Id 或类
  • 实体框架在数据读取器关闭时调用“Read”[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我的网络主
  • 运行实体框架自定义工具,它有什么作用?

    在 Visual Studio 中 当使用实体框架并为 tt 和 Context tt 文件应用运行自定义工具时 它是什么以及它有什么作用 为什么它解决数据库同步问题 有时 为什么我应该在运行 tt 之前运行它 Context tt 它被称
  • 具有自定义格式的 C# Generic DateTime.ToString() [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 使用时 DateTime ToString Contains 2016 实体框架产生 CAST DateValue AS nvarchar
  • 具有长期运行对象上下文的实体框架

    我对 WinForms 我敢说 WPF 中的 Linq to SQL 的主要烦恼之一是缺乏对长时间运行的数据上下文的支持 请参阅here http blogs msdn com dinesh kulkarni archive 2008 04
  • 了解 MVC-5 身份

    我创建了一个新的ASP NET MVC 5申请与Individual User Accounts然后更新了所有的Nuget packages在解决方案中 现在我尝试遵循一些教程中显示的一些指南 但遇到了一些问题 第一个是一个名为Applic
  • Breezejs 加载具有相关数据的实体时出错

    毫无疑问 我在这里遗漏了一些明显的东西 所以也许互联网的集体力量可以向我指出这一点 我有一个代码优先的数据库结构 由用户 组和一个链接两者的 GroupUsers 表组成 EF 本身可以处理 n n 关系 但 Breezejs 需要显式地使
  • EF6 找不到 LocalDBConnectionFactory

    我有 2 个项目 类库 作为 DAL 层 和 ASP NET MVC 项目 作为 UI 为了获取数据 我尝试使用 EF6 但它不起作用 所有异常文本 EntityFramework dll 中发生 System InvalidOperati
  • 使用 DI 将参数传递给 DbContext

    我想向 DBContext 传递一个附加参数 如下所示 string myParam xx string con connenctionstring services AddDbContext
  • EF Core - 在运行时向数据库添加新表

    我有一个 asp net core 项目 需要能够在运行时支持插件 因此 我需要根据插入的内容生成数据库表 每个插件都分为单独的项目 并且它们具有他们自己的 DbContext 类 要使用的插件在编译时是未知的 只有在运行时才知道 现在在
  • MVC 下拉列表未映射到模型

    我正在尝试使用 EF codefirst 在 MVC 3 中开发应用程序 当我使用 int 属性和约定来设置外键关系时 例如 public class Patient public int ConsultantId get set 然后 我
  • 如何将 mvc-mini-profiler 与 Entity Framework 4.1 一起使用

    我尝试将 mvc mini profiler 与 MVC3 一起使用 但不断收到以下错误 无法确定 MvcMiniProfiler Data ProfiledDbConnection 类型连接的提供程序名称 下面是我用来尝试实例化上下文的代
  • 实体类型 ApplicationUser 不是当前上下文模型的一部分。在项目开始时使用了两个不同的数据库

    我使用实体框架创建了一个 MVC 4 应用程序来读取数据并将数据写入我在 Azure 数据库上托管的数据库 Azure 数据库应该保存应用程序数据和应用程序的登录数据 但是 当我第一次创建应用程序时 我忘记删除到本地计算机的连接字符串 因此
  • 抑制实体框架核心中的 SQL 查询日志记录

    我有一个使用实体框架核心的控制台 net core 应用程序 该应用程序使用日志框架写入文件和控制台 serviceProvider new ServiceCollection AddLogging AddDbContext
  • .NET 实体框架核心

    我已经阅读了过去两年中发布的几乎所有有关 EF 的其他问题 我下载其他软件包没有任何问题 只是实体框架不会为我安装 我什至尝试安装最新版本的 Nuget 并在我的项目目录中使用它的工具来恢复包 之后 我将这一行添加到我的 csproj 中
  • 包括过滤器子集合[重复]

    这个问题在这里已经有答案了 我在为 LINQ 查询中包含的项目添加一些过滤条件时遇到一些困难 我的查询就像 var item Context Order Include Inner Include Inner first Include I
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91

随机推荐

  • 用一个变量求大量函数的根

    我正在使用 Python numpy scipy 编写一个小型光线追踪器 表面被建模为二维函数 给出法线平面上方的高度 我将寻找射线和表面之间的交点的问题简化为寻找具有一个变量的函数的根 这些函数是连续且连续可微的 有没有一种方法可以比使用
  • 使用模板删除任何容器

    我有很多代码要删除其中包含指针的向量容器 也就是说 我必须先删除所有指针 然后清除容器 每次我都会手动迭代并删除指针 我知道 stl algorithms for each 为了规避所有这些代码 我创建了一个模板来删除所有具有指针的向量容器
  • 跳转到下一个空白处

    Instead of using w to jump to the beginning of the next word or using e to jump to the end of the next word I want to ha
  • 来自不同线程的触发事件

    在我的主窗口中 Thread A 我开始一个新线程 Thread B 它在用户等待时做了一些工作 如果出现错误或需要用户提供额外信息 线程 B 会触发事件 线程 A 将侦听这些事件 在线程 A 的事件侦听器中 我需要向用户显示对话框消息 我
  • git 如何处理带空格的文件夹名称

    我有一个名为31 Files of oop 当我尝试运行此命令时 git rm rf 31 文件 oop 我收到这个致命错误 致命 pathspec 31 与任何文件都不匹配 我需要如何准备带空格的文件夹名称以便在 git 中使用 尝试这样
  • 如何将动态选择菜单和嵌套属性一起包含在 Rails 中?

    考虑我有三个表用户 国家 地区 州 我有一个添加新用户的页面 当我添加新用户时 我必须在选择框中列出国家 地区 并且在选择国家 地区时 多个选择框应加载该国家 地区的州 我应该能够选择所需的状态 同样 我可以单击添加按钮添加另一个选择框并选
  • Laravel 电子邮件验证 - 强制登录

    安装启用新的内置电子邮件验证后 一切正常 注册后发送电子邮件并单击激活启用帐户 但是 我面临着用户必须登录才能进行验证过程的情况 这意味着 如果用户在使用验证链接之前未登录 他将被重定向到登录页面 然后显示 resources view a
  • 为什么 observable.subscribe 只能在构造函数中工作

    在开发 Ionic 3 应用程序时 我遇到了当你订阅时的问题observable从服务于ngOnInit并将局部变量更新到其中 它不会更新视图 例如 HTML模板 p myVariable p constructor myService M
  • 如何正确实现自定义ajax

    为了保留标志文字 div class small 7 medium 4 columns logo 和菜单 div
  • 无法导入名称包括[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我按照 django 中的教程进行操作并收到以下错误 找到了一些解决方案 但它没有解决我的错误 教程链接是this ht
  • 有什么方法可以从 jinja2 模板字符串中获取变量键吗?

    这是我初始化 jinja2 模板的代码片段 from jinja2 import Template templ Template foo to bar 我愿意从模板 obj 中提取模板字符串变量键 如下所示 templ keys foo b
  • 连续字母频率

    我正在尝试编写代码来确定字符串中字母的连续频率 例如 aabbcbb gt a 2 b 2 c 1 b 2 我的代码给出了第一个字母的频率 但不会继续到下一个字母 def encrypt str array count 0 str each
  • Spring集成网关“Dispatcher没有订阅者”

    我遇到了异常Dispatcher has no subscribers on the outboundChannel并且不明白为什么 我确信它很简单 我已将代码精简为下面一个非常简单的示例 我的背景是
  • 在子文件夹中使用 Node.js 应用程序的“工作目录”选项以及压缩/解压缩工件步骤时,GitHub Actions 部署错误

    我有一个简单的 Node js 服务器 我正在使用 GitHub Actions 中的以下工作流程将其部署到 Azure 应用服务 它包括工件压缩和解压缩步骤这个答案 https stackoverflow com a 69402502 1
  • 如何在 Flex 中克隆对象?

    我想克隆一个 Canvas 对象 其中包含具有多个几何形状的 Degrafa Surface 我尝试了天真的方法 return ObjectUtil copy graph area as Canvas 这导致了错误 TypeError Er
  • 有没有办法改变 flutter 应用程序中播放的音频的音调?

    再会 有没有办法让我使用插件来改变通过 flutter 应用程序播放的声音的音调 我看还是没有答案 您可以使用 just audio 包中的 setPitch 方法 如下所示 await audioPlayer setPitch 1 5 链
  • kubectl - 错误:您必须登录到服务器

    我已经使用 kubeadm 安装了 k8s 配置了 OIDC 配置完成后 当我运行命令时kubectl email protected cdn cgi l email protection get nodes I get 错误 您必须登录到
  • 识别两个表之间差异的最快方法?

    我需要根据事务存档表检查活动表 但我不确定执行此操作的最快方法 例如 假设我的实时表由以下列组成 Term CRN Fee 级别代码 我的存档表将具有相同的列 但也具有存档日期 以便我可以查看活动表在给定日期的值 现在 我将如何编写查询来确
  • ScrollView不显示顶部

    问题 当 ScrollView 增长超过一定高度时 它会隐藏其子视图的顶部 我在 XML 中定义了以下布局
  • EF - 代码优先 - 自动更新数据库

    我想在代码中使用自动迁移 但是每次我更改模型中的某些内容时 我都需要运行update Database手动 我可以自动完成吗 这是配置 public class Configuration DbMigrationsConfiguration