Files
messengerapi/code/MessengerApi.Db/MessengerDbContext.cs
masiton a44912ac87
All checks were successful
Build and Push Docker Image / build (push) Successful in 55s
Build and Push Docker Image / docker (push) Successful in 36s
payloadLifespan/payloadLifetime and other name variants unified to Time To Live naming.
2025-07-05 17:07:53 +02:00

26 lines
905 B
C#

using MessengerApi.Db.Converters;
using MessengerApi.Db.Entities;
using Microsoft.EntityFrameworkCore;
namespace MessengerApi.Db
{
public abstract class MessengerDbContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Message> Messages { get; set; }
public DbSet<UserRoute> UserRoutes { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<User>().HasKey(e => e.Id);
modelBuilder.Entity<Message>().HasKey(e => e.Id);
modelBuilder.Entity<Message>().Property(e => e.CreatedUtc).HasConversion<DateTimeAsUtcValueConverter>();
modelBuilder.Entity<Message>().Property(e => e.TimeToLiveInSeconds).IsRequired();
modelBuilder.Entity<UserRoute>().HasKey(e => e.Id);
}
}
}