именованное соединение не найдено (проблема Entity framework)

Я создаю многопроектное приложение, в котором некоторый UserControl, пользовательский элемент управления имеет объект Entitymodel (myDBContainer db = new myDBContainer()), когда я отбрасываю свой пользовательский элемент управления в своей форме, я получил следующую ошибку дизайнера

Указанное соединение либо не найдено в конфигурации, либо не предназначено для использования с поставщиком entityclient.


person Mustafa Magdy    schedule 18.01.2010    source источник


Ответы (2)


Это означает, что строка подключения Entity Framework не найдена в Web.config или App.config для вашего проекта. Обратите внимание, что эта строка подключения не совпадает со строкой подключения к БД.

person Craig Stuntz    schedule 18.01.2010
comment
Нет, он там, и он такой, как написали в EF, я не менял его - person Mustafa Magdy; 24.01.2010
comment
Вы говорите мне, что это есть, но EF говорит, что это не так. Без обид, но я склонен верить EF. Вы уверены, что смотрите правильный файл конфигурации? Если ваша модель и основное приложение находятся в разных сборках, правильным файлом конфигурации во время выполнения будет файл основного приложения, а не модели, и, следовательно, не файл конфигурации, записанный EF. - person Craig Stuntz; 24.01.2010

Что ж, я нашел решение для этого, но я не знаю, оптимально оно или нет. Я помещаю строку подключения в app.config через файл настроек и изменяю именованное соединение в конструкторе, чтобы конструктор модели EF считал это соединение следующим образом

public InvDB() : base(Properties.Settings.Default.InvDB, "InvDB")

но в этом решении вы должны вносить это изменение каждый раз, когда открываете конструктор EF, но пока это хорошо.

person Mustafa Magdy    schedule 24.01.2010
comment
Значит, у вас неправильное имя подключения на вашей модели. Как я уже сказал в своем ответе, строки подключения нет. Исправьте модель или файл .config, чтобы согласиться. - person Craig Stuntz; 27.01.2010
comment
Нет, соединение уже существует и названо правильно, и каждый раз, когда я открываю Модель, оно сбрасывает его снова, поэтому проблема не в имени соединения, вы меня поняли ?. Я считаю, что это, возможно, проблема с бета-версией. - person Mustafa Magdy; 31.01.2010