KPO_Course_Work/Address Directory/Persistence/Configurations/StreetConfiguration.cs

35 lines
927 B
C#

using Domain.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Microsoft.Extensions.Logging;
namespace Persistence.Configurations
{
public class StreetConfiguration : IEntityTypeConfiguration<Street>
{
public void Configure(EntityTypeBuilder<Street> builder)
{
builder.HasKey(s => s.Id);
builder.Property(s => s.Name)
.IsRequired()
.HasMaxLength(100);
builder.Property(s => s.Index)
.IsRequired();
builder.Property(s => s.OkatoCode)
.IsRequired();
builder.Property(s => s.TaxCode)
.IsRequired();
builder.HasOne(s => s.City)
.WithMany(c => c.Streets)
.HasForeignKey(s => s.CityId)
.OnDelete(DeleteBehavior.Cascade); ;
}
}
}