using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.ChangeTracking; using Microsoft.EntityFrameworkCore.ValueGeneration; using Modules.Rating.Api.Database.Entities; namespace Modules.Rating.Api.Database; public class RatingDbContext : DbContext { public DbSet Votes { get; set; } public RatingDbContext(DbContextOptions options) : base(options) { } protected override void ConfigureConventions(ModelConfigurationBuilder configurationBuilder) { configurationBuilder.Properties().HaveConversion(); } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(q => { q.HasKey(q => new { q.SubjectId, q.ObjectId }); q.Property(q => q.VoteDate).HasDefaultValueSql("now()").ValueGeneratedOnAdd(); q.Property(q => q.LastUpdate).HasDefaultValueSql("now()").ValueGeneratedOnAddOrUpdate(); }); } }