Первый DbContext кода Entity Framework проверяет ConnectionString во время компиляции?

Кажется, что 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 не работает? Или я что-то не так делаю? Что-нибудь посоветуете?

5
задан Slauma 29 September 2011 в 15:20
поделиться