Нет конструктора со строкой подключения в Entity Framework datacontext - программирование
Подтвердить что ты не робот

Нет конструктора со строкой подключения в Entity Framework datacontext

Я использую Entity Framework 5.0 для моего проекта. Я посмотрел в Интернете, и я увидел, что для контекста данных сущности объекта был другой конструктор, у которого был строковый параметр для строки соединения.

В моем сгенерированном data context у меня нет такого конструктора. Я просмотрел базу DbContext и имеет такой конструктор.

Был ли код сгенерирован неправильно? Я создал код из базы данных. Может ли это быть причиной?

Оказывается, что я могу редактировать файл шаблона генерации кода, чтобы добавить новый конструктор. Теперь я добавил новый конструктор. Файл является файлом MyDataContext.tt в вашей модели edmx. Там у вас есть код С#, смешанный с кодом шаблона. Вы можете скопировать конструктор без аргументов и вставить его ниже. Затем вы можете изменить его и добавить к нему строковый аргумент и передать этот аргумент конструктору DbContext следующим образом: base (myString).

4b9b3361

Ответ 1

Вы можете добавить его по мере необходимости.

Проверьте сгенерированный файл и добавьте перегруженный конструктор.

public YourContext(string connectionStr)
        : base(connectionStr)
    {


    }

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