Entity Framework cant use the DbContext, model being created

Я использую EF 4.1, и я создаю обычный EF edmx файл. Я генерирую его из БД.

Когда он сгенерирован, я нажимаю правой кнопкой мыши и выбираю пункт add code generation, чтобы сгенерировать новые классы, и вместо этого использую DbContext. Я использую шаблон генератора DbContext.

Все работает нормально.

Затем я пытаюсь запросить контекст:

using (var context = new PasDBEntities())
{
    var client=context.ClientCompanies.SingleOrDefault(_=>_.ID==clientCompanyId);
    if(client!=null)

У меня нет проблем с созданием нового экземпляра контекста, но когда я пытаюсь запросить его, возникает проблема. Я застреваю на UnintentionalCodeFirstException. И получаю ошибку:

{"Код, созданный с использованием шаблонов T4 для разработки Database First и Model First, может работать некорректно при использовании в режиме Code First. Для продолжения использования Database First или Model First убедитесь, что строка подключения Entity Framework указана в конфигурационном файле выполняемого приложения. Для использования этих классов, созданных в Database First или Model First, в Code First добавьте любую дополнительную конфигурацию с помощью атрибутов или API DbModelBuilder, а затем удалите код, который вызывает это исключение."}

Я не хочу использовать Code First, но не знаю, могу ли я "отключить" его, или где проблема.

Для справки, вот мой конструктор ...

public partial class PasDBEntities : DbContext
{
    public PasDBEntities()
        : base("PasDBEntities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

...и строка подключения:

<connectionStrings>
    <add name="PasDBEntities" 
         connectionString="metadata=res://*/PasDB.csdl|
                                    res://*/PasDB.ssdl|
                                    res://*/PasDB.msl;
                           provider=System.Data.SqlClient;
                           provider connection string=&quot;
                           data source=localhost;
                           initial catalog=PasDB;
                           integrated security=True;
                           pooling=False;
                           multipleactiveresultsets=True;
                           App=EntityFramework&quot;"
         providerName="System.Data.EntityClient" />
</connectionStrings>
10
задан Slauma 30 October 2011 в 12:51
поделиться