add sectors to laps table

This commit is contained in:
ntr committed 2023-08-29 20:18:34 +10:00
1 parent 5ddbe1cacf
commit c66c6654c5
7 files changed
+143 -131

No files matched your search

+21 -16
View File
@@ -15,29 +15,31 @@ public class SpaceRaceDbContext : DbContext {
base.OnModelCreating(modelBuilder);
new SpaceRaceInitialiser(modelBuilder).Seed();
modelBuilder.Entity<PbDTO>(pb => {
var pbQuery = $$"""
WITH ranked AS (
SELECT *, rank() OVER (ORDER BY "Time" ASC) AS "Position", COUNT("Id") OVER () AS "Completions"
FROM "Laps"
)
var pbQuery = $$"""
WITH ranked AS (
SELECT *, rank() OVER (ORDER BY "Time" ASC) AS "Position", COUNT("Id") OVER () AS "Completions"
FROM "Laps"
)
SELECT * FROM ranked
""";
pb.HasNoKey();
pb.ToSqlQuery(pbQuery);
});
SELECT * FROM ranked
""";
modelBuilder.Entity<PbDTO>()
.HasNoKey()
.ToSqlQuery(pbQuery)
.ToTable(null as string);
}
}
[Index(nameof(UserId), nameof(Map), IsUnique = true)]
[Index(nameof(Map))]
public class Lap {
public DateTimeOffset Created { get; set; }
public Guid Id { get; set; }
public Guid UserId { get; set; }
public double Time { get; set; }
[Required] public string Map { get; set; }
public Guid Id { get; set; }
public Guid UserId { get; set; }
[Required] public DateTimeOffset Created { get; set; }
[Required] public double Time { get; set; }
[Required] public List<double> Sectors { get; set; }
[Required] public string Map { get; set; }
}
class SpaceRaceInitialiser {
@@ -54,6 +56,7 @@ class SpaceRaceInitialiser {
Id = Guid.NewGuid(),
UserId = new Guid("11111111-1111-1111-1111-111111111111"),
Time = 128f,
Sectors = new List<double> { 64f, 24f, 24f },
Map = "sr_TestTrack",
},
new Lap {
@@ -61,6 +64,7 @@ class SpaceRaceInitialiser {
Id = Guid.NewGuid(),
UserId = new Guid("22222222-2222-2222-2222-222222222222"),
Time = 132f,
Sectors = new List<double> { 64f, 38f, 24f },
Map = "sr_TestTrack",
},
new Lap {
@@ -68,6 +72,7 @@ class SpaceRaceInitialiser {
Id = Guid.NewGuid(),
UserId = new Guid("33333333-3333-3333-3333-333333333333"),
Time = 148f,
Sectors = new List<double> { 64f, 64f, 24f },
Map = "sr_TestTrack",
}
);