维护多个解决方案之间共享的数据库

时间:2014-10-28 10:50:12

标签: c# asp.net-mvc entity-framework ef-code-first

我有2个解决方案。 ASP.NET MVC解决方案和控制台应用程序解决方案。它们共享同一个数据库。 控制台应用程序基本上是一个cron作业,它不时运行,然后对数据库中的数据进行处理。 ASP.NET MVC只是一个前端。

一切都很好,花花公子。但是当我想对数据库进行更改时会出现问题,然后我必须在一个解决方案中进行更改并更新数据库(EF迁移)然后转到另一个解决方案并以某种方式更新代码,以便我不要得到DbContext过时的异常。

这在某种程度上肯定会被遗忘。 :(

理想的解决方案(我认为)将是ASP.NET MVC构建cron作业支持。很像AzureJob的东西。但我的解决方案是在IIS服务器上托管的,所以这不是一个选项。

我有什么选择?我正在寻找最可维护的解决方案。

1 个答案:

答案 0 :(得分:1)

我会编写一个程序集,除了数据访问之外什么都不做。这些程序集通常称为DataAccessLayer(DAL)。如果您有一个数据访问层,则可以在两个应用程序中使用它。这将使您的开发过程更加智能,并解决问题,即一个项目使用obsolet数据结构。

修改

部署程序集会编写一个批处理文件来完成所有工作。

更高级的解决方案是设置您自己的Nuget-Server或类似的东西。但对于这种情况,没有必要。