Ho una classe base che ha proprietà di controllo come
public abstract class BaseModel
{
[Column(Order = 1)]
public long Id { get; set; }
public long CreatedBy { get; set; }
public DateTime CreatedDate { get; set; }
public long ModifiedBy { get; set; }
public DateTime ModifiedDate { get; set; }
public bool IsActive { get; set; }
}
Tutte le mie poche lezioni derivano da questa classe.
Sto cercando di impostare un valore predefinito per le proprietà IsActive. Non mi piace usare le annotazioni e quindi mi aggiravo se riuscivo a farlo usando un'API fluente.
Ho provato questo ma non funziona. Sembra che crei una nuova tabella denominata BaseModel
modelBuilder.Entity<BaseModel>()
.Property(p => p.IsActive)
.HasColumnAnnotation("DefaultValue", true);
Qualcuno può suggerire un modo qui?
Non c'è modo di farlo. Non può impostare valori predefiniti con Entity Framework. Invece puoi usare il costruttore
public abstract class BaseModel
{
protected BaseModel()
{
IsActive = true;
}
}