Кажется, что Code First DbContext действительно использует данную ConnectionString во время компиляции? Я даже не знаю, как это возможно, но мне кажется, что это так. Если я выключу свой локальный SQL Server, я получаю сообщение об ошибке «Не удалось получить MetadataWorkspace для типа DbContext ...». При включении SQL Server все компилируется нормально.
Вот часть моего контекста (я использую существующую базу данных и да, я знаю, что на самом деле не кодирую сначала)
public class MyContext : DbContext
{
public MyContext() : base("MY_DYNAMIC_CONNECTIONSTRING")
{
Database.SetInitializer<MyContext>(null);
}
...
Если это действительно так, это огромная проблема. Как я могу предотвратить это? Что делать, если я использую отдельные машины для сборки, на которых ConnectionString не работает? Или я что-то не так делаю? Что-нибудь посоветуете?