Как создать частичные классы из CodeFirst

1

Я работаю с приложением, которое использует EF, в кодовом подходе, поэтому существует несколько классов домена.

Мне нужно получить доступ к ObjectContext.SavingChanges, чтобы я мог работать с несколькими недавно добавленными бизнес-правилами. Из того, что я видел здесь в SO и в книге Джулии Лерман, мне нужно создать частичный класс с тем же именем, что и порожденный EF порожденным частным классом (es).

Кажется, я не могу найти местоположение этих сгенерированных классов EF. Без этого у меня нет имен классов или пространств имен, которые будут использоваться для моей частичной реализации класса.

Вопросов

1. Где я могу найти эти созданные классы EF?

2. После того как я найден, какой из них я использую в качестве своего частичного класса, если мне нужно получить доступ к ObjectState.SavingChanges?

Теги:
entity-framework
ef-code-first
objectcontext
partial-classes

1 ответ

1
Лучший ответ

Для частичного класса вам нужно только создать новый класс с тем же именем, что и ваш класс ef, и вам нужно отметить его как частичное в той же сборке, что и ваш контекст ef.

Но если вы хотите получить доступ к SavingChanges(), вам нужно создать свой собственный контекст класса, расширив ObjectContext, чтобы вы могли переопределить ObjectContext.SavingChanges(), чтобы добавить свой собственный бизнес-процесс.

надеюсь, это поможет вам.

  • 0
    «если вы хотите получить доступ к SavingChanges (), вам нужно создать собственный контекст класса, расширяя ObjectContext» - нет, он вам не нужен. Это публичное мероприятие, и внешний код может легко подписаться на него.
  • 0
    Извините, я имею в виду, что SaveChanges () не имеет события SavingChanges (), поскольку вы не можете отменить операцию сохранения в событии SavingChanges.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню