我将在我的应用程序中创建一个初始表来存储我国所有城市/州的数据。这是一个相对较大的数据集:5k+注册。
阅读this post让我了解到一种很好的方法,尽管我认为留下一个SQL文件并由EF导入是一种安全漏洞。
文件格式不重要:我可以将其制作为XLS或TXT;与帖子中所示的执行它作为SQL命令不同,我可以简单地将其读取为流并生成如下超链接中教程所示的对象。
阅读this tutorial有关代码优先数据种子的内容,我看到种子方法将在数据库初始化过程中执行,并且种子对象是在种子方法中生成的。 我的问题: 关于种子方法,哪种方法更好,SQL文件方法还是对象方法? 我个人认为对象方法更安全,但可能会更慢,这可能引发我的第二个问题: 在数据库初始化过程中执行的种子方法,仅在创建DB时执行?这对我来说有点不清楚。
谢谢。
阅读this post让我了解到一种很好的方法,尽管我认为留下一个SQL文件并由EF导入是一种安全漏洞。
文件格式不重要:我可以将其制作为XLS或TXT;与帖子中所示的执行它作为SQL命令不同,我可以简单地将其读取为流并生成如下超链接中教程所示的对象。
阅读this tutorial有关代码优先数据种子的内容,我看到种子方法将在数据库初始化过程中执行,并且种子对象是在种子方法中生成的。 我的问题: 关于种子方法,哪种方法更好,SQL文件方法还是对象方法? 我个人认为对象方法更安全,但可能会更慢,这可能引发我的第二个问题: 在数据库初始化过程中执行的种子方法,仅在创建DB时执行?这对我来说有点不清楚。
谢谢。
Seed
方法会被执行,如果您需要添加5k个实体,则可能会变得非常缓慢。我建议使用SQL文件,因为它的执行速度更快。当我使用EF添加大型对象集时,我必须在添加了约100个实体后将更改提交到数据库,以便添加下一个实体不会花费太多时间(尽管这是使用EF 4时的情况)。 - Vsevolod Goloviznin