如何使用Entity Framework创建一些测试数据

时间:2012-08-14 08:30:11

标签: entity-framework entity-framework-4

我在C#中使用EF 4和MVC,

当我的应用程序加载时,我想加载创建一些实体添加到我的数据库,那么哪里是使用EF添加该功能的最佳位置?启动应用程序Global.asax

该类的合理名称约定是什么...... BootStrap?

由于

1 个答案:

答案 0 :(得分:1)

如果您有现有数据库,则不应将初始化包含在应用程序中。如何在现有数据库中进行此操作的唯一方法是在Application_Start中执行一些初始化。初始化必须检查要插入的每个实体是否存在,并且仅在实体不存在时插入数据。由于您的数据库已存在,因此每次重新启动应用程序时都必须运行初始化逻辑。为避免这种情况,您还需要在数据库中使用一些标志来标记初始化已经完成(插入的实体之一可以被视为"标记"但仅当应用程序无法删除此实体时)。

EF通常仅在创建数据库或数据库迁移后播种数据。

编辑:如果要在测试数据库上创建测试数据,每次模型更改(或使用迁移)和自定义数据库初始化程序为数据设定种子时,您都应该对数据库重新创建感到满意。