2016-12-13 3 views
0

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

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

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

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

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

+0

Вы пытались восстановить проект? Нормальное поведение, когда вы его перестраиваете, должно воссоздать классы. – Seminda

+0

Я пытаюсь восстановить и попытаться удалить файлы .tt, и воссоздать их, но проблема остается. Может быть, я должен сначала использовать код из базы данных или что? – iolah2

ответ

1

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

0

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

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

Совет: Переключитесь на Code First :)

+0

Я только что изменил edmx с добавлением нового entitiy, у которого нет PK. Мой учитель сказал, что я должен дать родительский класс для подобных объектов. Пример NameTitle, Language и т. Д. То же самое в них только у них есть ID (NameTitleID, LanguageID) и строка (Description, with deferent lengths). Когда я думаю и сущность с этим 2 опорой и наследованием других от нее, после этого это потеряно. Но это также случилось, когда я изменяю базу данных, обновляюсь из базы данных и сохраняю edmx. Возможно, причиной может служить ObservableListSource или что? – iolah2

+0

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

Смежные вопросы