transactions
This commit is contained in:
32
back/persistance/data/relations/UserRelationEstablisher.cs
Normal file
32
back/persistance/data/relations/UserRelationEstablisher.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using back.DataModels;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace back.persistance.data.relations;
|
||||
|
||||
public class UserRelationEstablisher : IRelationEstablisher
|
||||
{
|
||||
public void EstablishRelation(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<User>(entity =>
|
||||
{
|
||||
entity.HasOne(d => d.IdNavigation).WithOne(p => p.User)
|
||||
.HasForeignKey<User>(d => d.Id)
|
||||
.OnDelete(DeleteBehavior.ClientSetNull);
|
||||
|
||||
entity.HasMany(d => d.Roles).WithMany(p => p.Users)
|
||||
.UsingEntity<Dictionary<string, object>>(
|
||||
"UserRole",
|
||||
r => r.HasOne<Role>().WithMany()
|
||||
.HasForeignKey("RoleId")
|
||||
.OnDelete(DeleteBehavior.ClientSetNull),
|
||||
l => l.HasOne<User>().WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.ClientSetNull),
|
||||
j =>
|
||||
{
|
||||
j.HasKey("UserId", "RoleId");
|
||||
j.ToTable("UserRoles");
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user