forked from zzzprojects/System.Linq.Dynamic.Core
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStarringConfiguration.cs
More file actions
65 lines (58 loc) · 2.01 KB
/
StarringConfiguration.cs
File metadata and controls
65 lines (58 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using CodeFirst.DataAccess.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace CodeFirst.DataAccess.Configurations;
public class StarringConfiguration : IEntityTypeConfiguration<Starring>
{
public void Configure(EntityTypeBuilder<Starring> builder)
{
builder.HasKey(e => new {e.ActorId, e.MovieId});
// configure many to many: movies - actors
builder.HasOne(e => e.Movie)
.WithMany(e => e.Starring)
.OnDelete(DeleteBehavior.Cascade)
.HasForeignKey(e => e.MovieId);
builder.HasOne(e => e.Actor)
.WithMany(e => e.Starring)
.OnDelete(DeleteBehavior.Cascade)
.HasForeignKey(e => e.ActorId);
builder.Property(e => e.MovieId)
.IsRequired()
.HasColumnName("movie_id");
builder.Property(e => e.ActorId)
.IsRequired()
.HasColumnName("actor_id");
builder.ToTable("starring");
builder.HasData(new Starring(2, 1),
new Starring(3, 1),
new Starring(4, 1),
new Starring(5, 1),
new Starring(6, 1),
new Starring(7, 1),
new Starring(8, 1),
new Starring(1, 3),
new Starring(9, 3),
new Starring(10, 3),
new Starring(11, 2),
new Starring(12, 2),
new Starring(13, 2),
new Starring(14, 4),
new Starring(15, 4),
new Starring(16, 4),
new Starring(17, 4),
new Starring(18, 5),
new Starring(19, 5),
new Starring(20, 5),
new Starring(21, 6),
new Starring(22, 6),
new Starring(14, 7),
new Starring(23, 7),
new Starring(14, 8),
new Starring(24, 8),
new Starring(25, 8),
new Starring(23, 9),
new Starring(27, 9),
new Starring(23, 10),
new Starring(28, 10));
}
}