Skip to content

Commit b78f3cc

Browse files
committed
added migration and entitytypeconfigurations
1 parent 642c950 commit b78f3cc

33 files changed

+1637
-28
lines changed

.dockerignore

-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,5 @@
2222
**/secrets.dev.yaml
2323
**/values.dev.yaml
2424
**/Gifs
25-
**/Migrations
2625
LICENSE
2726
README.md

.gitignore

-2
Original file line numberDiff line numberDiff line change
@@ -338,5 +338,3 @@ ASALocalRun/
338338

339339
# BeatPulse healthcheck temp database
340340
healthchecksdb
341-
342-
Migrations/

Common/Entities/Concrete/OperationClaim.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace Core.Entities.Concrete
77
{
8-
public class OperationClaim : IEntity
8+
public class OperationClaim : BaseEntity,IEntity
99
{
1010
public int Id { get; set; }
1111
public string ClaimName { get; set; }

Common/Entities/Concrete/UserOperationClaim.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace Core.Entities.Concrete
88
{
9-
public class UserOperationClaim : IEntity
9+
public class UserOperationClaim : BaseEntity,IEntity
1010
{
1111
public int Id { get; set; }
1212
public int UserId { get; set; }

DataAccess/Concrete/EntityFramework/Contexts/PhotoChannelContext.cs

+14-13
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Text;
55
using Core.Entities.Concrete;
66
using Entities.Concrete;
7+
using DataAccess.Dal.EntityFramework.EntityConfigurations;
78

89
namespace DataAccess.Dal.EntityFramework.Contexts
910
{
@@ -19,14 +20,16 @@ public PhotoChannelContext()
1920
}
2021
protected override void OnModelCreating(ModelBuilder modelBuilder)
2122
{
22-
modelBuilder.HasDefaultSchema("PhotoChannel");
23-
modelBuilder.Entity<Photo>().HasOne<User>(photo => photo.User).WithMany(user => user.Photos).OnDelete(DeleteBehavior.NoAction);
24-
modelBuilder.Entity<Subscriber>().HasOne<User>(s => s.User).WithMany(u => u.Subscribers).OnDelete(DeleteBehavior.NoAction);
25-
modelBuilder.Entity<Subscriber>().HasOne<Channel>(s => s.Channel).WithMany(u => u.Subscribers).OnDelete(DeleteBehavior.NoAction);
26-
modelBuilder.Entity<Comment>().HasOne<Photo>(c => c.Photo).WithMany(p => p.Comments).OnDelete(DeleteBehavior.NoAction);
27-
modelBuilder.Entity<Comment>().HasOne<User>(c => c.User).WithMany(u => u.Comments).OnDelete(DeleteBehavior.NoAction);
28-
modelBuilder.Entity<Like>().HasOne<User>(l => l.User).WithMany(u => u.Likes).OnDelete(DeleteBehavior.NoAction);
29-
modelBuilder.Entity<Like>().HasOne<Photo>(l => l.Photo).WithMany(u => u.Likes).OnDelete(DeleteBehavior.NoAction);
23+
modelBuilder.ApplyConfiguration(new CategoryEntityTypeConfiguration());
24+
modelBuilder.ApplyConfiguration(new ChannelEntityTypeConfiguration());
25+
modelBuilder.ApplyConfiguration(new ChannelCategoryEntityTypeConfiguration());
26+
modelBuilder.ApplyConfiguration(new CommentEntityTypeConfiguration());
27+
modelBuilder.ApplyConfiguration(new LikeEntityTypeConfiguration());
28+
modelBuilder.ApplyConfiguration(new OperationClaimEntityTypeConfiguration());
29+
modelBuilder.ApplyConfiguration(new UserOperationClaimEntityTypeConfiguration());
30+
modelBuilder.ApplyConfiguration(new UserEntityTypeConfiguration());
31+
modelBuilder.ApplyConfiguration(new PhotoEntityTypeConfiguration());
32+
modelBuilder.ApplyConfiguration(new SubscriberEntityTypeConfiguration());
3033

3134
modelBuilder.Entity<Category>().HasData(new List<Category>
3235
{
@@ -41,8 +44,10 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
4144
new OperationClaim {Id=1, ClaimName = "Admin"},
4245
new OperationClaim {Id=2, ClaimName = "Users"}
4346
});
44-
}
4547

48+
base.OnModelCreating(modelBuilder);
49+
}
50+
4651
public DbSet<User> Users { get; set; }
4752
public DbSet<OperationClaim> OperationClaims { get; set; }
4853
public DbSet<UserOperationClaim> UserOperationClaims { get; set; }
@@ -53,9 +58,5 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
5358
public DbSet<Like> Likes { get; set; }
5459
public DbSet<Subscriber> Subscribers { get; set; }
5560
public DbSet<ChannelCategory> ChannelCategories { get; set; }
56-
57-
58-
59-
6061
}
6162
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2+
using Entities.Abstract;
3+
using Entities.Concrete;
4+
using Microsoft.EntityFrameworkCore;
5+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
6+
7+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
8+
{
9+
public class BaseEntityTypeConfiguration<TEntity> : IEntityTypeConfiguration<TEntity> where TEntity : BaseEntity
10+
{
11+
public virtual void Configure(EntityTypeBuilder<TEntity> builder)
12+
{
13+
builder.HasKey(x => x.Id);
14+
}
15+
}
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
using Entities.Concrete;
3+
using Microsoft.EntityFrameworkCore;
4+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
5+
6+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
7+
{
8+
public class CategoryEntityTypeConfiguration : BaseEntityTypeConfiguration<Category>
9+
{
10+
public override void Configure(EntityTypeBuilder<Category> builder)
11+
{
12+
base.Configure(builder);
13+
builder.HasData(new List<Category>
14+
{
15+
new Category {Id=1,Name = "Kitap" },
16+
new Category {Id=2,Name = "Sinema" },
17+
new Category {Id=3,Name = "Bilim" },
18+
new Category {Id=4,Name = "Kültür" },
19+
new Category {Id=5,Name = "Edebiyat"}
20+
});
21+
}
22+
}
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
using Entities.Concrete;
3+
using Microsoft.EntityFrameworkCore;
4+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
5+
6+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
7+
{
8+
public class ChannelCategoryEntityTypeConfiguration : BaseEntityTypeConfiguration<ChannelCategory>
9+
{
10+
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
using Entities.Concrete;
3+
using Microsoft.EntityFrameworkCore;
4+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
5+
6+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
7+
{
8+
public class ChannelEntityTypeConfiguration : BaseEntityTypeConfiguration<Channel>
9+
{
10+
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
2+
using Entities.Concrete;
3+
using Microsoft.EntityFrameworkCore;
4+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
5+
6+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
7+
{
8+
public class CommentEntityTypeConfiguration : BaseEntityTypeConfiguration<Comment>
9+
{
10+
public override void Configure(EntityTypeBuilder<Comment> builder)
11+
{
12+
base.Configure(builder);
13+
14+
builder.HasOne<Photo>(c => c.Photo)
15+
.WithMany(p => p.Comments)
16+
.OnDelete(DeleteBehavior.NoAction);
17+
builder.HasOne<User>(c => c.User)
18+
.WithMany(u => u.Comments)
19+
.OnDelete(DeleteBehavior.NoAction);
20+
}
21+
}
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
2+
using Entities.Concrete;
3+
using Microsoft.EntityFrameworkCore;
4+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
5+
6+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
7+
{
8+
public class LikeEntityTypeConfiguration : BaseEntityTypeConfiguration<Like>
9+
{
10+
public override void Configure(EntityTypeBuilder<Like> builder)
11+
{
12+
base.Configure(builder);
13+
14+
builder.HasOne<User>(l => l.User)
15+
.WithMany(u => u.Likes)
16+
.OnDelete(DeleteBehavior.NoAction);
17+
builder.HasOne<Photo>(l => l.Photo)
18+
.WithMany(u => u.Likes)
19+
.OnDelete(DeleteBehavior.NoAction);
20+
}
21+
}
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
using Core.Entities.Concrete;
3+
using Entities.Concrete;
4+
using Microsoft.EntityFrameworkCore;
5+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
6+
7+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
8+
{
9+
public class OperationClaimEntityTypeConfiguration : BaseEntityTypeConfiguration<OperationClaim>
10+
{
11+
public override void Configure(EntityTypeBuilder<OperationClaim> builder)
12+
{
13+
base.Configure(builder);
14+
builder.HasData(new List<OperationClaim>
15+
{
16+
new OperationClaim {Id=1, ClaimName = "Admin"},
17+
new OperationClaim {Id=2, ClaimName = "Users"}
18+
});
19+
}
20+
}
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
using Entities.Concrete;
3+
using Microsoft.EntityFrameworkCore;
4+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
5+
6+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
7+
{
8+
public class PhotoEntityTypeConfiguration : BaseEntityTypeConfiguration<Photo>
9+
{
10+
public override void Configure(EntityTypeBuilder<Photo> builder)
11+
{
12+
base.Configure(builder);
13+
builder.HasOne<User>(photo => photo.User)
14+
.WithMany(user => user.Photos)
15+
.OnDelete(DeleteBehavior.NoAction);
16+
}
17+
}
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
2+
using Entities.Concrete;
3+
using Microsoft.EntityFrameworkCore;
4+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
5+
6+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
7+
{
8+
public class SubscriberEntityTypeConfiguration : BaseEntityTypeConfiguration<Subscriber>
9+
{
10+
public override void Configure(EntityTypeBuilder<Subscriber> builder)
11+
{
12+
base.Configure(builder);
13+
14+
builder.HasOne<User>(s => s.User)
15+
.WithMany(u => u.Subscribers)
16+
.OnDelete(DeleteBehavior.NoAction);
17+
builder.HasOne<Channel>(s => s.Channel)
18+
.WithMany(u => u.Subscribers)
19+
.OnDelete(DeleteBehavior.NoAction);
20+
}
21+
}
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
using Entities.Concrete;
3+
using Microsoft.EntityFrameworkCore;
4+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
5+
6+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
7+
{
8+
public class UserEntityTypeConfiguration : BaseEntityTypeConfiguration<User>
9+
{
10+
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
using Core.Entities.Concrete;
3+
using Entities.Concrete;
4+
using Microsoft.EntityFrameworkCore;
5+
using Microsoft.EntityFrameworkCore.Metadata.Builders;
6+
7+
namespace DataAccess.Dal.EntityFramework.EntityConfigurations
8+
{
9+
public class UserOperationClaimEntityTypeConfiguration : BaseEntityTypeConfiguration<UserOperationClaim>
10+
{
11+
12+
}
13+
}

DataAccess/DataAccess.csproj

+5
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@
1313
<PrivateAssets>all</PrivateAssets>
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1515
</PackageReference>
16+
17+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.3">
18+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
19+
<PrivateAssets>all</PrivateAssets>
20+
</PackageReference>
1621
</ItemGroup>
1722

1823
<ItemGroup>

0 commit comments

Comments
 (0)