部署到Azure网站时的种子数据库

时间:2014-09-28 20:06:32

标签: entity-framework ef-migrations azure-web-sites

我正在尝试使用外部资源(CSV文件)构建与Azure网站关联的Azure SQL数据库。

我能够使用EF Migration Seed method and a CSV file在开发环境中为数据库建立种子,如下所述在Migration.cs文件中。注意:Visual Studio中项目中的CSV文件设置为“对嵌入式资源构建操作”。

 public void SeedData(WebApp.Models.ApplicationDbContext Context)
        {
            Assembly assembly = Assembly.GetExecutingAssembly();
            string resourceName = "WebApp.SeedData.Name.csv";
            using (Stream stream = assembly.GetManifestResourceStream(resourceName))
            {
                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                {
                    CsvReader csvReader = new CsvReader(reader);
                    csvReader.Configuration.WillThrowOnMissingField = false;
                    var records = csvReader.GetRecords<Products>().ToArray();

                    foreach (Product record in records)
                    {                            
                          Context.Products.AddOrUpdate(record); 
                    }
                }
            }
            Context.SaveChanges();
        }

当我从VS2013部署到Azure并选择执行代码优先迁移时,数据库无法获取种子。

更新 这现在正在运作。在我完成一个干净的构建之后,然后构建了项目,然后选择了Execute Code First Migration来部署该网站。

0 个答案:

没有答案