30 lines
840 B
C#

using Domain.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Persistence.Configurations
{
public class CityConfiguration : IEntityTypeConfiguration<City>
{
public void Configure(EntityTypeBuilder<City> builder)
{
builder.HasKey(c => c.Id);
builder.Property(c => c.Name)
.IsRequired()
.HasMaxLength(100);
builder.HasOne(c => c.Region)
.WithMany(r => r.Cities)
.HasForeignKey(c => c.RegionId)
.OnDelete(DeleteBehavior.Cascade); ;
builder.HasMany(c => c.Streets)
.WithOne(s => s.City)
.HasForeignKey(s => s.CityId)
.OnDelete(DeleteBehavior.Cascade); ;
}
}
}