2

我有一个连接到 MVC 4 项目的数据库。数据库正在从此代码自动创建:

public class ContextInitializer : DropCreateDatabaseIfModelChanges<ContextModel>
{
    protected override void Seed(ContextModel context)
    {
        base.Seed(context);
    }
}

我看到人们在删除后使用以下代码重新创建数据库:

 System.Data.Entity.Database.SetInitializer(new CarStore.Models.SampleData.cs);

这很有效。但我的问题是:

第一个。如何从 SQL 文件中播种数据,我拥有 SampleData.sql,以及如何“运行”该文件以插入回所有数据。

第二有没有办法在 DropAndCreateIfModelChanges 之前从数据库数据中备份到最新版本?然后从该文件中播种该数据?

谢谢。

4

1 回答 1

0

我得到了答案:)

我终于设法解决了这个问题。

这是代码,也许有人需要它!

var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
context.Database.ExecuteSqlCommand(File.ReadAllText(baseDirectory + 
"\\IF YOU HAVE ANOTHER DIRECTOR INSIDE BASEDIR \\SQL" + "\\YOURFILENAME.sql"));

它对我来说非常好而且很快。它经过优化且可读。

于 2013-07-26T06:21:29.493 回答