如何从SQL文件中种植数据?

时间:2013-07-24 08:28:25

标签: sql database linq seed sample-data

我有一个连接到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之前从数据库数据中将BackUp设置为最新版本吗? 然后从该文件中播放该数据?

感谢。

1 个答案:

答案 0 :(得分:0)

我得到答案:)

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

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

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

它非常适合我。 它是优化和可读的。