Элемент генерации первого кода базы данных EF 6

Я использую базу данных Entity Framework 6 сначала с Visual Studio 2015. Иногда, когда я изменяю диаграмму .edmx и сохраняю изменения, все классы .cs (для таблиц) удаляются из файла model.tt генерации кода, и я не мог вернуть их. Просто для создания Entity Data Model с нуля тоже.

Кто-нибудь знает, в чем причина этой проблемы, как мне решить эту проблему?

Спасибо, что поможет.

Я изменил свою модель данных сущности следующим образом:(Не знаю, может быть причина или что-то другое)

*EF5 Grdiview only Count & ReadOnly /После этого откройте файл yourModel.tt Найдите и замените два вхождения «ICollection» на «ObservableListSource» (строки 296 и 484). Найдите и замените первое вхождение «HashSet» на «ObservableListSource» (строка 50). Не заменяйте второе вхождение HashSet, найденное позже в коде./*


person iolah2    schedule 13.12.2016    source источник
comment
Вы пытались пересобрать проект? Нормальное поведение - когда вы перестраиваете, оно должно воссоздавать классы.   -  person Seminda    schedule 14.12.2016
comment
Я пытаюсь восстановить и удалить файлы .tt и воссоздать их, но проблема остается. Может быть, я должен сначала использовать код из базы данных или что?   -  person iolah2    schedule 14.12.2016


Ответы (2)


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

person Poonam    schedule 14.12.2016

Если классы не создаются, это означает, что в файле edmx есть ошибка, попробуйте открыть его и проверить, вы можете проверить, щелкнув правой кнопкой мыши файл edmx и нажав «Проверить».

Что касается файла .tt, щелкните правой кнопкой мыши и выберите «Запустить пользовательский инструмент» и посмотрите, будет ли сгенерирован код или нет.

Совет: сначала переключитесь на код :)

person Haitham Shaddad    schedule 14.12.2016
comment
Я просто модифицирую edmx, добавляя новую сущность, у которой нет PK. Мой учитель сказал, что я должен дать родительский класс для подобных сущностей. Пример NameTitle, Language и т. д. То же самое, только у них есть ID (NameTitleID, LanguageID) и строка (описание, с разной длиной). Когда я думаю, что сущность с этой 2 опорой и наследование других от нее, после того, как это произошло, теряется. Но это тоже случалось, когда я модифицировал базу данных, обновлял базу данных и сохранял edmx. ObservableListSource может быть причиной, что ли? - person iolah2; 14.12.2016
comment
Извините, мне очень трудно понять ваш комментарий, вам не следует изменять edmx вручную или вообще изменять сгенерированный код, потому что он будет потерян при каждом запуске генератора кода. - person Haitham Shaddad; 14.12.2016