首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用带有EF的.NET内核时,用样本数据播撒大系统数据库的正确方法是什么?

当使用带有EF的.NET内核时,用样本数据播撒大系统数据库的正确方法是什么?
EN

Stack Overflow用户
提问于 2019-01-05 21:39:38
回答 1查看 671关注 0票数 1

该系统是在带有实体框架和Server的.NET核心中创建的。目前它很大,而且还在增长。在连续输送管道中,有许多环境。

代码语言:javascript
复制
test1 -> test2 -> test3 -> test4 -> preprod -> prod

每个环境都可以有不同的配置,例如,它可以托管在Azure、内部或外部私有云中。

需要为这些环境中的每一种环境提供样本数据,但是每个环境都需要有不同的数据集。

我可以看到两种方法:

  1. 编写SQL脚本。 其优点是可以很容易地从SSMS或其他控制台窗口运行SQL脚本。我看到的缺点是,当系统增长时,维护它可能是可怕的。 我在考虑找出I的关系和管理。
  2. 在C#中创建种子类,它可以通过EF运行。 这个解决方案允许我创建易于维护的类,理论上我可以创建一些特性切换,它告诉我们应该在给定的环境中运行哪个种子程序类。 如果DB模式更改频繁,则需要更新所有SQL种子脚本。脚本可能变得无效,不能像使用EF核心种子机制那样自动检测。 我和一位开发人员交谈过,他告诉我,每当我在CD管道中发布这样的种子类时,自动运行这样的种子类有点吓人,而且测试环境中的seeder类不应该添加到代码库中。

问题是什么是正确的方法,我可以使用实体框架来解决所描述的问题吗?干杯

EN

回答 1

Stack Overflow用户

发布于 2019-01-05 23:25:51

这完全取决于您的要求和db的大小。在我以前的项目中,我们已经创建了SQL脚本,但可能不太适合不断变化的dB。您还可以使用数据生成器,例如:

https://www.apexsql.com/sql-tools-generate.aspx

https://www.red-gate.com/products/sql-development/sql-data-generator/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54056523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档