namespace WhatApi.Tables; public class Place : IAuditableEntity { public Guid Id { get; set; } public Guid ContentId { get; set; } public Content Content { get; set; } = null!; public required Point Location { get; set; } public DateTimeOffset CreatedAtUtc { get; set; } public DateTimeOffset? UpdatedAtUtc { get; set; } public Guid CreatedBy { get; set; } public Guid? UpdatedBy { get; set; } } public class PlaceConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable("place"); builder.HasKey(x => x.Id); builder.Property(x => x.Location).IsRequired(); builder.HasOne(x => x.Content); builder.Property(x => x.Location).HasColumnType($"geometry(point,{Constants.Wgs84SpatialReferenceId})"); builder.HasIndex(x => x.Location).HasMethod("gist"); } }