Обнаружение создания объекта в Entity Framework Code First - PullRequest
0 голосов
/ 09 ноября 2011

Я использую Entity Framework 4.1.

У меня есть класс с автоматически сгенерированным полем Id

 public class User
 {
    [Key]
    public int Id { get; set; }
 }

Я хочу создать несколько подходящих каталогов на диске (например, c: \ MyProgramFiles\ UserId) для каждого пользователя.Для этого мне нужно обнаружить, что объект был сохранен Entity Framework и, следовательно, ему присвоен Id, который я могу использовать в пути к файлу.

Я бы предпочел подключить это, чтобы я ненеобходимо написать код, подобный следующему:

MyObjectContext.SaveChanges();
FileHelper.CreateUserDirectories(newUser.Id);

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

Проблема в том, что я вижу только событие SavingChanges наObjectContext.Поскольку это вызывается до того, как объект был сохранен, оно бесполезно, поскольку у объекта все еще нет идентификатора.

Достижимо ли то, что я хочу сделать, и если да, то как мне это сделать?

Ура!

1 Ответ

1 голос
/ 09 ноября 2011

Помогает ли ответ на следующий вопрос? Entity Framework SaveChanges - Настроить поведение?

Это относится к созданию собственного производного контекста и переопределению метода SaveChanges, так что вы можете добавить собственную логику до и после вызова base.SaveChanges ().

Благодарим Ладислава Мрнку за ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...