29 lines
973 B
C#
29 lines
973 B
C#
using back.DataModels;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace back.persistance.data.relations;
|
|
|
|
public class EventRelationEstablisher: IRelationEstablisher
|
|
{
|
|
public void EstablishRelation(ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<Event>(entity =>
|
|
{
|
|
entity.HasMany(d => d.Tags).WithMany(p => p.Events)
|
|
.UsingEntity<Dictionary<string, object>>(
|
|
"EventTag",
|
|
r => r.HasOne<Tag>().WithMany()
|
|
.HasForeignKey("TagId")
|
|
.OnDelete(DeleteBehavior.ClientSetNull),
|
|
l => l.HasOne<Event>().WithMany()
|
|
.HasForeignKey("EventId")
|
|
.OnDelete(DeleteBehavior.ClientSetNull),
|
|
j =>
|
|
{
|
|
j.HasKey("EventId", "TagId");
|
|
j.ToTable("EventTags");
|
|
});
|
|
});
|
|
}
|
|
}
|