从 ASP.NET MVC 中的现有数据库生成种子代码

2023-11-21

我想知道是否有人遇到过类似的挑战:

我有一个数据库,其中包含一些从 Excel 文件进行 ETL 处理(导入和转换)的数据。在我的 ASP.NET MVC Web 应用程序中,我使用 Code First 方法并在每次数据库更改时删除/创建:

#if DEBUG
  Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDataContext>());
#endif

但是,由于数据库中的数据丢失了,我必须重新进行ETL,这很烦人。

因为数据库只会在模型更改时被删除,所以无论如何我都必须调整我的 ETL,我知道这一点。但我宁愿更改我的数据库种子代码。

假设模型和 SQL 表都是最新的,有谁知道如何获取数据库的内容并生成种子代码?

EDIT 1:我打算使用自动生成的 Configuration.cs 及其 Seed 方法,然后使用AddOrUpdate()将数据添加到数据库的方法:这里是Microsoft 的迁移教程(特别是“设置种子方法”部分)。


假设我们有一个简单的数据库表3750其中有记录;

| Id   | Age | FullName        |
|------|-----|-----------------|
| 1    | 50  | Michael Jackson |
| 2    | 42  | Elvis Presley   |
| 3    | 48  | Whitney Houston |
| ...  | ... | ...             |
| 3750 | 57  | Prince          |

我们希望使用自动生成的方法在数据库中创建此表Configuration.cs文件及其Seed() method.

protected override void Seed(OurDbContainer context)
{
    context.GreatestSingers.AddOrUpdate(
            p => p.Id,
            new GreatestSinger { Id = 1, Age = 50, FullName = "Michael Jackson" },
            new GreatestSinger { Id = 2, Age = 42, FullName = "Elvis Presley" },
            new GreatestSinger { Id = 3, Age = 48, FullName = "Whitney Houston" }
            );
}

这是你应该做的。3750 times!

但你的数据中已经有了这些数据现有数据库表。所以我们可以用这个existing要创建的数据Seed() codes.

在...的帮助下SQL 字符串连接;

SELECT
CONCAT('new GreatestSinger { Id = ', Id ,', Age = ', Age ,', FullName = "', FullName ,'" },') 
FROM GreatestSinger

将为我们提供创建所需的所有代码3750数据行。

只需将其复制/粘贴到Seed()方法。并从包管理器控制台;

Add-Migration SeedDBwithSingersData

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

从 ASP.NET MVC 中的现有数据库生成种子代码 的相关文章

  • 使用 MS Access 获取行的第一个实例

    EDITED 我有这个查询 我想SELECT表中记录的第一个实例petTable SELECT id pet ID FIRST petName First Description FROM petTable GROUP BY pet ID
  • 连接两个表的查询的 SQL Server“FOR XML”输出

    我是 SQL Server 中 FOR XML 功能的新手 我正在使用 SQL Server 2012 我有两个表 Word 和 Word Expansion 样本数据 表 字 WordOID Word 1 PIPE 2 WIRE 表 Wo
  • 执行迁移 EF core 2.0 时出错,将身份 id 从字符串更改为 int

    设想 我从同事那里收到了 ASP NET CORE 自动生成的项目 帐户 管理服务有自动生成的代码 此代码包括 ApplicationUser 类 DBContext 和迁移文件夹 其中包含 00000000000000 CreateIde
  • 使用两个日期之间的随机日期时间更新每一行

    我有一个专栏叫date created我希望每一行保存一个随机日期 日期距当前时间为 2 天 我正在运行以下查询 但它会更新具有相同随机日期的所有行 我希望每一行都是随机的并且不相同 update table set date create
  • Visual Studio 智能感知搞砸了

    所以我是 MVC4 和 C 的新手 我已经设计这个网站大约两周了 智能感知没有任何问题 两天来 Visual studio 告诉我 Viewbag 和其他 命令不是我的项目的一部分 我可能错过了一些东西 或者它告诉我 Viewbag 在当前
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • Oracle:使用SQL或PL/SQL查找动态SQL中的错误位置

    如何在 PL SQL 或 SQL 中找到动态 SQL 语句中的错误位置 从 SQL Plus 中 我看到了错误的位置 例如 无效的 SQL DML 语句 SYS orcl gt SELECT 2 X 3 FROM 4 TABLEX 5 TA
  • SignalR 更新无法在 Chrome 上正常运行

    我创建了一个带有 SignalR 通知的 ASP MVC 4 应用程序 我在本地以调试模式运行它 并通过 IIS 发布在服务器上运行它 使用 Internet Explorer 11 时 这基本上可以正常工作 稍后解释 HTML1300 N
  • 使用 JSON 参数的 Postgres 批量 INSERT 函数

    这是一个plpgsqlpostgres 的函数9 6 它试图INSERT一行 如果插入没有失败 由于违反键约束 那么它会运行更多命令 CREATE FUNCTION foo int text text RETURNS void AS BEG
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 如何在 PostgreSQL 中使用具有多个值的 SQL LIKE 条件?

    有没有更短的方法来查找多个匹配项 SELECT from table WHERE column LIKE AAA OR column LIKE BBB OR column LIKE CCC 这个问题适用于 PostgreSQL 9 1 但如
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • 用更轻的解决方案替换完整的 ORM(JPA/Hibernate):推荐的加载/保存模式?

    我正在开发一个新的 Java Web 应用程序 并且正在探索保存数据的新方法 对我来说是新方法 我主要有 JPA 和 Hibernate 的经验 但是 除了简单的情况之外 我认为这种完整的 ORM 可能会变得相当复杂 另外 我不太喜欢和他们
  • 单独的逗号分隔值并存储在sql server的表中

    我有一个存储过程 它将逗号分隔的值作为输入 我需要将其分开并需要将其作为单独的行存储在表中 令 SP 的输入为 Rule ID ListType ID Values 1 2 319 400 521 8465 2013 我需要将它存储在一个名
  • 初级SQL部分:避免重复表达式

    我对 SQL 完全陌生 但我们可以说StackExchange 数据浏览器 https data stackexchange com 我只想按信誉列出前 15 位用户 我写了这样的内容 SELECT TOP 15 DisplayName I
  • 如何使用sql作为xml路径('')但保留回车符

    我有下面的代码 select select cast Narrative as Varchar max char 13 from officeclientledger where ptmatter matter and ptTrans 4
  • 在 Oracle 行的多个列上使用透视

    我在 Oracle 表中有以下示例数据 tab1 我正在尝试将行转换为列 我知道如何在某一列上使用 Oracle 数据透视表 但是否可以将其应用于多个列 样本数据 Type weight height A 50 10 A 60 12 B 4

随机推荐

  • Java中有互斥体吗?

    java中有互斥对象或者创建互斥对象的方法吗 我这样问是因为用 1 个许可证初始化的信号量对象对我没有帮助 想想这个案例 try semaphore acquire do stuff semaphore release catch Exce
  • 可以在Python中声明一个抽象异常吗?

    我想在 Python 中声明用户定义异常的层次结构 但是 我想要我的顶级用户定义类 TransactionException 变得抽象 也就是说 我打算TransactionException指定其子类需要定义的方法 然而 Transact
  • 什么时候应该使用 PHP mysqli_real_escape_string() 函数? [复制]

    这个问题在这里已经有答案了 我知道mysqli real escape string可以使用函数来防止SQL注入 但是 mysql real escape string 不会保护您免受某些注入 我的问题是我什么时候应该使用 mysqli r
  • 多态性和 SwiftUI

    给出以下示例 class ProfileTab Identifiable let id UUID let name String init name String self name name class ProfileQuoteTab P
  • 如何设置静态 UITableView 作为 UIView 的子视图?

    当我与一个TableViewController我可以在故事板中设置所有内容 自从我使用静态单元格代替动态属性对于我的表视图 我发现这种方法更方便且更容易实现 我连接新的 UITableView 类并简单地删除所有委托方法 工作起来就像一个
  • 将图块的 xyz 坐标转换为经度/纬度

    我想使用 openlayers 制作地图 但以独特的方式将其居中 例如 我的 z x y 坐标为 12 2045 1362 如何将其转换为经度 纬度 这与此完全相反 如何通过点击Leaflet地图获取tile的X Y Z坐标 我很难理解上述
  • 如何在 Clojure 中评估一系列不纯函数?

    如何评估 Clojure 中的 不纯 函数列表 例如 println 1 println 2 println 3 预期输出是 1 2 3 有没有一种方法可以在不使用宏的情况下实现这一目标 就像是 map evaluate fns seq m
  • JavaScript中如何检查字符串是否包含子字符串?

    这个问题的答案是社区努力 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 通常我会期望String contains 方法 但好像没有 检查此问题的合理方法是什么 推出 ECMAScript 6String prototype inc
  • PerRequestLifetimeManager 只能在 HTTP 请求的上下文中使用

    我有一个 MVC 应用程序 它使用 Unity 作为其 IoC 容器 并使用以下方式在我的应用程序中定义了多个服务 PerRequestLifetimeManager container RegisterType
  • 在 pycharm 中创建项目结构的正确方法是什么?

    我是 python 新手 不知道如何以正确的方式组织项目结构 因此所有自动导入都可以在 pycharm 中工作 这就是我目前的结构 在 PublisherSubscriberTest pycharm 生成此导入 from Rabbit Ra
  • 从库中查找 argc 和 argv

    我如何找到一个程序argc and argv来自共享对象 我正在用 C 编写一个库 将通过以下方式加载LD PRELOAD 我可以通过两种不同的方式找到堆栈 Read rsp通过内联 asm call Read proc
  • 为什么java rmi一直连接到127.0.1.1。当ip是192.168.X.X时?

    我有一个 java rmi 应用程序 我只是这样做 Client Registry registry LocateRegistry getRegistry localhost costApi CostApi registry lookup
  • 如果已安装,则无法重新运行 Java JPackage 安装程序,第二次只是退出而不发出警告

    无法重新运行JPackage安装程序如果已经安装 则第二次即可似乎退出没有警告 这在 Windows 上是正确的行为吗 你可能会问我为什么要这么做 就我而言 我正在尝试为我的 Java 应用程序构建 JPackage 安装程序 因此我正在构
  • 如何在 C# 中自动递增数字?

    我正在使用 C 2008 Windows 窗体应用程序 我的项目中有一个TextBox控制 因为我想为样本 s00 自动生成数字 接下来当我再次返回表单时 它应该像 s01 s02 s03 这样递增 请帮我 很容易 保留一个变量来保留当前数
  • ASP.NET MVC 中的脚本和 CSS 注册助手?

    我尝试使用 ASP NET MVC 一段时间 然后遇到一个问题 我不想将所有 js 和 css 包含在母版页中 但是如何从我的特定视图将其注册到母版页的头部 默认母版页模板包括用于头部的内容占位符 如果没有 您可以轻松添加一个
  • 通用方法 - 无法将类型“string”隐式转换为 T

    可能是一个简单的问题 我有一个界面 public interface ISanitizer T Sanitize
  • Jenkins - 将构建推广到不同的环境

    我希望获得一些关于通过其环境促进构建的最佳方式的指导 我们有 3 个环境 DEV STAGING PROD DEV Jenkins 构建在持续集成设置中运行 当代码签入到 subversion 时 Jenkins 将运行新的构建 清理 编译
  • 实例化一个特质意味着什么?

    我是 Scala 新手 在 O Reilly 的 Scala 编程 一书中 作者展示了一些实例化特征的代码 鉴于特征在某种程度上类似于 Java 中的接口 尽管我知道特征是作为字节代码中的类实现的 实例化特征意味着什么 以及适当的用例 设计
  • 从公钥正确创建 RSACryptoServiceProvider

    我目前正在尝试创建一个RSACryptoServiceProvider仅来自解码的 PEM 文件的对象 经过几天的搜索 我确实设法找到了一个可行的解决方案 但它还不是一个可以投入生产的解决方案 简而言之 为了创建一个RSACryptoSer
  • 从 ASP.NET MVC 中的现有数据库生成种子代码

    我想知道是否有人遇到过类似的挑战 我有一个数据库 其中包含一些从 Excel 文件进行 ETL 处理 导入和转换 的数据 在我的 ASP NET MVC Web 应用程序中 我使用 Code First 方法并在每次数据库更改时删除 创建