【问题标题】:How do I populate data in Entity Framework code first on database creation?如何在创建数据库时首先在 Entity Framework 代码中填充数据?
【发布时间】:2011-06-03 05:22:59
【问题描述】:

我正在使用代码优先实体框架,我想知道在创建数据库时如何运行一些代码,以便我可以用一些数据填充我的数据库。 (请注意,我要求创建数据库,而不是每次应用程序启动时)。

有人知道我可以为此使用方法或事件吗?

【问题讨论】:

    标签: entity-framework code-first ef-code-first


    【解决方案1】:

    我想补充一下拉迪斯拉夫的回答。他指出的文章展示了如何创建初始化程序,但没有展示如何使用初始化程序来填充新创建的数据库。 DbInitializer 有一个名为 Seed 的方法,您可以覆盖它。您可以在本文中看到如何使用它的示例(或视频,如果您愿意,在同一页面上)http://msdn.microsoft.com/en-us/data/hh272552

    【讨论】:

      【解决方案2】:

      您可以使用custom database initializer - 这意味着实现IDatabaseInitializer 并通过调用Database.SetInitializer 注册此初始化程序。

      【讨论】:

      • 这篇文章是针对 CTP 4 的,在 CTP 5 中,他们将初始化程序更改为 DbDatabase.SetInitializer
      • (Ajma...我们没有使用 Code First 的已发布 RTM 版本,Ladislav 的回答是正确的。它是 Database.SetInitializer,而不是 DbDatabase。)
      • 嘿,这应该是“现在”而不是“不是”:)
      猜你喜欢
      • 2013-07-10
      • 1970-01-01
      • 2017-05-20
      • 1970-01-01
      • 2013-02-16
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      相关资源
      最近更新 更多