我是EF Code first with MVC的新手
我正在寻找我的项目在各种环境中的部署脚本,QA,UAT和生产。
有没有什么办法,我可以开发脚本,以在一个点击下沉。我在单独的项目中有模型。
请分享你的想法。
发布于 2015-06-30 03:58:42
请回答这个问题。以下是我在部署EF MVC Code First应用程序时遇到问题时的假设
要在QA、UAT或生产服务器上部署网站,请构建项目的发布并在IIS中进行配置。由于您使用的是EF Code first方法,一旦网站运行,它将在您在web.config文件中提供的给定位置创建数据库。
要使网站正常工作,您必须在Configuration.cs的种子方法中创建默认数据
发布于 2015-06-30 05:58:47
您可以在DbInitializer中使用Seed方法
public class YourInitializer: DropCreateDatabaseAlways<YourDbContext>
{
protected override void Seed(YourDbContext context)
{
YourEntity entity = new YourEntity();
context.YourDbSet.AddOrUpdate(entity);
context.SaveChanges();
base.Seed(context);
}
}您可以使用更多的初始化器类型...在这里解释:http://www.codeguru.com/csharp/article.php/c19999/Understanding-Database-Initializers-in-Entity-Framework-Code-First.htm
另一个解决方案是编写您自己的powershell脚本,它连接到您的数据库并进行更改。这个powershell脚本可以在构建服务器等上触发。
如果您想要更改各种服务器上行为,可以使用Web.Config / App.Config创建一些配置属性(appSettings一节)。
https://stackoverflow.com/questions/31124275
复制相似问题