Изменить файл MyEntityFrameworkModel.edmx.cs

#entity-framework #entity-framework-4 #entity-framework-4.1

#entity-framework #entity-framework-4 #entity-framework-4.1

Вопрос:

Мне было интересно, можно ли изменить файл edmx.cs (изменить наследование и базовые конструкторы класса, производного от контекста объекта). когда я попробую это, все изменения будут отклоняться при сборке проекта. Обратите внимание, я имею в виду изменение производного от контекста объекта класса, а не классов сущностей. Спасибо.

Ответ №1:

Если вы можете себе это позволить (имеется в виду, если ваш проект уже не слишком сложный), я мог бы предложить вам перейти на стиль code-first (EF 4.1). Это позволяет вам создавать все необходимое наследование в ваших объектах. И поскольку вы создаете свой собственный контекст, наследуя DbContext, у вас также есть полная гибкость в этом.

Вы можете использовать свой EDMX (с шаблоном T4, упакованным в EF 4.1) или существующую базу данных для создания классов (так что, по крайней мере, то, что вы делали до сегодняшнего дня, остается в силе).

http://thedatafarm.com/blog/data-access/quick-look-at-reverse-engineer-db-into-code-first-classes/

http://devlinliles.com/post/Reverse-Engineer-Code-Firste28093Jump-start-for-existing-Databases.aspx

Решение с частичным классом, возможно, тоже сделает это (в зависимости от того, чего вы хотите достичь).

Ответ №2:

Чтобы изменить рабочий класс entity frame, лучше создать общие классы с тем же именем и добавить свои собственные методы и свойства

Комментарии:

1. : что, если я хочу изменить класс, производный от контекста объекта? Спасибо