Итак, давайте притворимся в своем классе Model (в зависимости от того, как вы хотите называть его, который наследуется от DbContext), и вы переопределяете OnModelCreating
. У вас есть базовый класс с именем DBDateTime
, и, допустим, он выглядит примерно так ->
public class DbDateTime
{
public DateTimeOffset CreatedDateTime { get; set; }
public DateTimeOffset LastModifiedDateTime { get; set; }
}
и тогда у вас есть класс, который наследуется от него --->
public class MyTable : DbDateTime
{
public string Id{ get; set; }
public string prop1{ get; set; }
}
в вашей модели и вашем OnModelCreating
у вас будет что-то вроде ->
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<MyTable>(entity =>
{
entity.Property(x => x.CreatedDateTime).Metadata.AfterSaveBehavior = PropertySaveBehavior.Ignore;
})
}
Это нормально для одной таблицы, которая наследуется от набора свойств, но если у вас есть 10 таблиц, которые наследуются от такого класса, есть ли способ использовать какое-то наследование с генерацией свойств в ef core 2.0? Я хотел бы написать код один раз и установить правила генерации свойств для базового класса, чтобы мне не приходилось писать его снова и снова для каждого класса, наследуемого от этого базового класса.
entity.Property(x => x.CreatedDateTime).Metadata.AfterSaveBehavior = PropertySaveBehavior.Ignore;
делает эта строка? - person vivek nuna   schedule 20.04.2018PropertySaveBehavior.Ignore
? - person vivek nuna   schedule 20.04.2018