Предотвращение обновления столбца EF Core в определенном экземпляре - PullRequest
0 голосов
/ 19 июня 2019

Итак, я видел ответ на этот вопрос:

modelBuilder.Entity<MyObject>(builder =>
{
    builder.Property(e => e.Prop7).Metadata.AfterSaveBehavior = PropertySaveBehavior.Ignore;
    builder.Property(e => e.Prop8).Metadata.AfterSaveBehavior = PropertySaveBehavior.Ignore;
    builder.Property(e => e.Prop9).Metadata.AfterSaveBehavior = PropertySaveBehavior.Ignore;
});

Но как я могу сделать это динамически? Как я могу остановить обновление ядра EF, когда я этого хочу, и позволить ему обновляться, как обычно, большую часть времени.

1 Ответ

0 голосов
/ 19 июня 2019

Вы можете установить PropertyEntry.IsModified на false, что приведет к сбросу значения свойства.

var myObject = ctx.MyObjects.First(); // e.g. myObject.Foo is "foo" in the database

myObject.Foo = "bar";

ctx.Entry(myObject).Property(o => o.Foo).IsModified = false;

// at this point, myObject.Foo is reset to "foo"
...