亲爱的 在我的解决方案中,我的项目分层了几个类库和两个项目(WcfUI和MvcUI)。 我将99%的时间用于MvcUI。但是WcfUI将相同的数据库和服务用于后端。 使用通用的存储库模式和实体框架,我可以为WCF和MVC使用一次编写的同一DbContext。 创建新的DbSet并添加迁移时出现问题。 Mvc进行了少量更改后就发布了,但是Wcf并不是因为最近的更新并没有触及它的逻辑。
我是否必须同时发布-Mvc和Wcf,以避免出现“数据库模型/上下文已更改...”错误
或者Wcf像下面这样放入App_Start新类是一种好习惯:
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(WcfUI.App_Start.DbInitialization), "Start")]
namespace WcfUI.App_Start
{
using DAL.Database.DbContexts;
using System.Data.Entity;
/// <summary>
/// To Avoid EF error: model was changed since bla bla...
/// </summary>
public static class DbInitialization
{
public static void Start() => Database.SetInitializer<MvcDbContext>(null);
}
}
此刻我正在使用此类,问题似乎已解决,但是我不确定这是否是正确的解决方案?