add sectors to laps table
This commit is contained in:
1 parent
bec76092ae
commit
18ee18f78f
7 files changed
+143
-131
No files matched your search
@@ -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",
|
||||
}
|
||||
);
|
||||
|
||||
Reference in new issue
Block a user