feat: refactor week number handling to use WeekDefinitionId across multiple entities and queries
This commit is contained in:
+14
-8
@@ -17,7 +17,7 @@ public class NetworkWeeklyBalanceConfiguration : IEntityTypeConfiguration<Networ
|
||||
builder.Property(entity => entity.Id).UseIdentityColumn();
|
||||
|
||||
builder.Property(entity => entity.UserId).IsRequired();
|
||||
builder.Property(entity => entity.WeekNumber).IsRequired().HasMaxLength(20);
|
||||
builder.Property(entity => entity.WeekDefinitionId).IsRequired();
|
||||
builder.Property(entity => entity.LeftLegBalances).IsRequired();
|
||||
builder.Property(entity => entity.RightLegBalances).IsRequired();
|
||||
builder.Property(entity => entity.TotalBalances).IsRequired();
|
||||
@@ -31,14 +31,20 @@ public class NetworkWeeklyBalanceConfiguration : IEntityTypeConfiguration<Networ
|
||||
.HasForeignKey(entity => entity.UserId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
|
||||
// Composite Index برای UserId و WeekNumber
|
||||
builder.HasIndex(e => new { e.UserId, e.WeekNumber })
|
||||
.IsUnique()
|
||||
.HasDatabaseName("IX_NetworkWeeklyBalance_UserId_WeekNumber");
|
||||
// رابطه با WeekDefinition
|
||||
builder.HasOne(entity => entity.WeekDefinition)
|
||||
.WithMany(wd => wd.NetworkWeeklyBalances)
|
||||
.HasForeignKey(entity => entity.WeekDefinitionId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
|
||||
// Index برای WeekNumber
|
||||
builder.HasIndex(e => e.WeekNumber)
|
||||
.HasDatabaseName("IX_NetworkWeeklyBalance_WeekNumber");
|
||||
// Composite Index برای UserId و WeekDefinitionId
|
||||
builder.HasIndex(e => new { e.UserId, e.WeekDefinitionId })
|
||||
.IsUnique()
|
||||
.HasDatabaseName("IX_NetworkWeeklyBalance_UserId_WeekDefinitionId");
|
||||
|
||||
// Index برای WeekDefinitionId
|
||||
builder.HasIndex(e => e.WeekDefinitionId)
|
||||
.HasDatabaseName("IX_NetworkWeeklyBalance_WeekDefinitionId");
|
||||
|
||||
// Index برای IsExpired
|
||||
builder.HasIndex(e => e.IsExpired)
|
||||
|
||||
Reference in New Issue
Block a user