@VanArcher

Почему формируется пустой файл *edmx?

Используется SQL Server Express версия LocalDB; Microsoft visual studio community.

Создана база данных с таблицей и по шаблону консольного приложения решение.

В таблице три столбца: первый id(int), второй Номер_раздела(nvarchar(50)), третий Текст_раздела(nvarchar(MAX)). Таблица пока без строк.

В решении при добавлении элемента ADO.NET EDM, формируется соответствующие "соединение", в котором выбирается бд и данные таблицы созданной с сохранением настроек соединения в файле app.config.
Наименования в конструкторе формы сущностей немного меняется: Номер_раздела -> Номер, Текст_раздела ->Текст.
После производится компилирование приложения, чтобы сформировались три файла *.csdl, *.msl и *.ssdl.

В составе *edmx есть файл *designer.cs, он остаётся пустым(в нём рекомендуется в конструкторе обновить данные из бд, не помогает), то есть не создаются три файла *.csdl, *.msl и *.ssdl.

Не понятно с чем может быть связана данная проблема, так как в конструкторе сущность таблицы корректно отображается и данные в неё входящие.

В итоге при работе при помощи EF с бд, невозможно воспользоваться методами: .AddObject(); .CreateQuery() и т.д. -
есть только .add(); .sqlcreate() и т.д.

Подскажите каким образом можно исправить данную проблему?

Действия осуществляю по книге: "Эндрю Троелсен - Язык программирования C# 5.0 и платформа .NET 4.5 (The Expert's Voice in .NET) - 2013" - действия осуществлялись соответственно описанным на страницах: 758-760; 859-864 и 870-871.
  • Вопрос задан
  • 208 просмотров
Решения вопроса 1
impwx
@impwx
Разработчик
Похоже, что у вас книга по EF4 (там был метод AddObject), а установлен EF6. Почитайте мануалы по новой версии - она по всем параметрам лучше. Про файлы *.csdl и иже с ними вообще можно будет забыть - EF6 лучше всего работает с описанием базы в виде C#-классов (Code First From Database).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы