Переход от LINQ2SQL к LINQ для сущностей - PullRequest
0 голосов
/ 21 октября 2011

Я использую EF 4.1 в режиме POCO.

LINQ2SQL генерирует частичные методы в тексте данных, которые вызываются при вставке / обновлении / удалении объекта. Они полезны для таких случаев, как:

    partial void InsertCampaign( Campaign instance )
    {
        instance.CreatedAtUTC = instance.ModifiedAtUTC = DateTime.UtcNow;

        ExecuteDynamicInsert( instance );
    }

    partial void UpdateCampaign( Campaign instance )
    {
        instance.ModifiedAtUTC = DateTime.UtcNow;

        ExecuteDynamicUpdate( instance );
    }

Итак, мой вопрос - с EF, как вы подключаетесь к вставке / обновлению / удалению объектов, чтобы вы могли выполнять такие операции, как указано выше? Я бы предпочел не делать это вручную каждый раз, когда я создаю / обновляю сущность.

Спасибо

1 Ответ

1 голос
/ 22 октября 2011

Переопределите метод SaveChanges () в вашем DbContext и сделайте что-то вроде:

    public override int SaveChanges()
    {
        var modified = this.ChangeTracker.Entries().Where(e => e.State == System.Data.EntityState.Modified);
        // set whatever values you want on modified entities
        return base.SaveChanges();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...