DbContext была изменена ошибка в проекте WCF - PullRequest
0 голосов
/ 24 апреля 2019

Уважаемые! В моем решении у меня есть проекты с несколькими библиотеками классов и двумя проектами (WcfUI и MvcUI).Я трачу 99% времени на MvcUI.однако WcfUI использует ту же базу данных и сервисы для бэкэнда.Используя общий шаблон репозитория и структуру сущностей, я могу использовать один и тот же DbContext, написанный один раз для WCF и MVC.Проблема появляется, когда я создаю новый 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); 
    }
}    

В данный момент я использую этот класс, и проблема кажется решенной, но я не совсем уверен, если этоправильное решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...