Initial commit

This commit is contained in:
2020-04-13 15:16:46 +01:00
commit 17a40cb95f
81 changed files with 10120 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="3.1.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="SuccessfulCodeTools" Version="1.0.8" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.1" />
</ItemGroup>
</Project>
+11
View File
@@ -0,0 +1,11 @@
namespace AutoBet.Db
{
public class BetOdds
{
public int Id { get; set; }
public OddsType OddsType { get; set; }
public decimal Odds { get; set; }
public decimal Available {get;set;}
public OddsSnapshot OddsSnapshot { get; set; }
}
}
+12
View File
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace AutoBet.Db
{
public class Entity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string Id { get; set; }
}
}
+37
View File
@@ -0,0 +1,37 @@
using System;
namespace AutoBet.Db
{
public class Fixture : Entity
{
public string GoingUpdatedTime { get; set; }
public string GoingUpdatedDate { get; set; }
public FixtureSession FixtureSession { get; set; }
public int AbandonedReasonCode { get; set; }
public string Rail { get; set; }
public string Stalls { get; set; }
public string Other { get; set; }
public string Weather { get; set; }
public string Going { get; set; }
public int? MajorEvent { get; set; }
public string TicketsLink { get; set; }
public int CourseId { get; set; }
public RacePlanningCode RacePlanningCode { get; set; }
public RacingTrackType RacingTrackType { get; set; }
public int MeetingId { get; set; }
public FixtureType FixtureType { get; set; }
public string FixtureName { get; set; }
public int NumberOfRaces { get; set; }
public int BcsEvent { get; set; }
public int BlackTypeRaces { get; set; }
public bool EntriesAvailable { get; set; }
public bool RacecardAvailable { get; set; }
public bool ResultsAvailable { get; set; }
public DateTime? FirstRace { get; set; }
public string CourseName { get; set; }
public string Distance { get; set; }
public DateTime FixtureDate { get; set; }
public int FixtureYear { get; set; }
public int FixtureId { get; set; }
}
}
+9
View File
@@ -0,0 +1,9 @@
namespace AutoBet.Db
{
public enum FixtureSession
{
Afternoon = 0,
Evening = 1,
Floodlit = 2
}
}
+9
View File
@@ -0,0 +1,9 @@
namespace AutoBet.Db
{
public enum FixtureType
{
Flat = 0,
Jump = 1,
Mixed = 2
}
}
+37
View File
@@ -0,0 +1,37 @@
using Microsoft.EntityFrameworkCore;
using System;
using System.Data.SqlClient;
namespace AutoBet.Db
{
public class HorseRacingDataContext : DbContext
{
public DbSet<Race> Races { get; set; }
public DbSet<Runner> Runners { get; set; }
public DbSet<LastRun> LastRuns { get; set; }
public DbSet<RunnerResult> RunnerResults { get; set; }
public DbSet<OddsSnapshot> OddsSnapshots { get; set; }
public DbSet<BetOdds> BetOdds { get; set; }
public DbSet<Fixture> Fixtures { get; set; }
public static string ConnectionString { get; } = GenerateConnectionString();
private static string GenerateConnectionString()
{
var connBuilder = new SqlConnectionStringBuilder
{
IntegratedSecurity = true,
InitialCatalog = "AutoBet.DataRecorded2",
DataSource = ".\\SQLEXPRESS",
ConnectTimeout = (int)TimeSpan.FromMinutes(2).TotalSeconds
};
return connBuilder.ToString();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.UseSqlServer(ConnectionString);
}
}
}
+13
View File
@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoBet.Db
{
public partial class LastRun
{
public int Id { get; set; }
public string RaceType { get; set; }
public int Days { get; set; }
}
}
@@ -0,0 +1,83 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20191229213205_Intialize")]
partial class Intialize
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,63 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class Intialize : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "OddsSnapshots",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
EventName = table.Column<string>(nullable: true),
HorseName = table.Column<string>(nullable: true),
JockeyName = table.Column<string>(nullable: true),
SnapshotDate = table.Column<DateTime>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_OddsSnapshots", x => x.Id);
});
migrationBuilder.CreateTable(
name: "BetOdds",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
OddsType = table.Column<int>(nullable: false),
Odds = table.Column<decimal>(nullable: false),
Available = table.Column<decimal>(nullable: false),
OddsSnapshotId = table.Column<int>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_BetOdds", x => x.Id);
table.ForeignKey(
name: "FK_BetOdds_OddsSnapshots_OddsSnapshotId",
column: x => x.OddsSnapshotId,
principalTable: "OddsSnapshots",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex(
name: "IX_BetOdds_OddsSnapshotId",
table: "BetOdds",
column: "OddsSnapshotId");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "BetOdds");
migrationBuilder.DropTable(
name: "OddsSnapshots");
}
}
}
@@ -0,0 +1,338 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200223123134_RaceDetail")]
partial class RaceDetail
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,149 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class RaceDetail : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Races",
columns: table => new
{
Id = table.Column<string>(nullable: false),
DistanceChangeText = table.Column<string>(nullable: true),
BlackTypeRace = table.Column<int>(nullable: false),
AbandonedReasonCode = table.Column<int>(nullable: false),
RaceCriteriaRaceType = table.Column<string>(nullable: true),
DistanceChange = table.Column<string>(nullable: true),
DistanceText = table.Column<string>(nullable: true),
DistanceValue = table.Column<int>(nullable: false),
DistanceUnits = table.Column<string>(nullable: true),
RawDistanceText = table.Column<string>(nullable: true),
RatingBand = table.Column<string>(nullable: true),
RaceClass = table.Column<int>(nullable: false),
PrizeCurrency = table.Column<string>(nullable: true),
PrizeAmount = table.Column<int>(nullable: false),
AgeLimit = table.Column<string>(nullable: true),
RaceName = table.Column<string>(nullable: true),
RaceTime = table.Column<TimeSpan>(nullable: false),
RaceDate = table.Column<DateTime>(nullable: false),
DivisionSequence = table.Column<int>(nullable: false),
YearOfRace = table.Column<int>(nullable: false),
RaceId = table.Column<int>(nullable: false),
Plus10 = table.Column<bool>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Races", x => x.Id);
});
migrationBuilder.CreateTable(
name: "RunnerResults",
columns: table => new
{
Id = table.Column<string>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_RunnerResults", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Runners",
columns: table => new
{
Id = table.Column<string>(nullable: false),
HeadGearWearingCode = table.Column<string>(nullable: true),
HeadGearWearingSheepSkin = table.Column<int>(nullable: false),
HeadGearDescription = table.Column<string>(nullable: true),
HeadGearAbbreviation = table.Column<string>(nullable: true),
JockeyProfile = table.Column<int>(nullable: false),
CourseWinner = table.Column<string>(nullable: true),
DistanceWinner = table.Column<string>(nullable: true),
WindSurgeryFirstRun = table.Column<string>(nullable: true),
TrainerId = table.Column<int>(nullable: false),
TrainerName = table.Column<string>(nullable: true),
OwnerId = table.Column<int>(nullable: false),
OwnerName = table.Column<string>(nullable: true),
WbSilkCode = table.Column<string>(nullable: true),
WbSilkDescription = table.Column<string>(nullable: true),
SilkImage = table.Column<string>(nullable: true),
Plus10 = table.Column<int>(nullable: false),
ForecastPriceNumerator = table.Column<string>(nullable: true),
ForecastPriceDenominator = table.Column<string>(nullable: true),
WeightText = table.Column<string>(nullable: true),
WeightsJockeyClaiming = table.Column<int>(nullable: false),
Odds = table.Column<string>(nullable: true),
JockeyName = table.Column<string>(nullable: true),
Status = table.Column<int>(nullable: false),
RaceId = table.Column<int>(nullable: false),
YearOfRace = table.Column<int>(nullable: false),
DivisionSequence = table.Column<int>(nullable: false),
AnimalId = table.Column<int>(nullable: false),
RacehorseName = table.Column<string>(nullable: true),
AgeYears = table.Column<int>(nullable: false),
Bred = table.Column<string>(nullable: true),
ClothNumber = table.Column<int>(nullable: false),
DrawnStall = table.Column<int>(nullable: true),
ReserveNumber = table.Column<string>(nullable: true),
BhaRating = table.Column<string>(nullable: true),
FormFigures = table.Column<string>(nullable: true),
WeightValue = table.Column<string>(nullable: true),
PenaltyValue = table.Column<int>(nullable: false),
SexType = table.Column<int>(nullable: false),
NonRunnerDeclaredReason = table.Column<string>(nullable: true),
NonRunnerDeclaredDate = table.Column<string>(nullable: true),
NonRunnerDeclaredTime = table.Column<string>(nullable: true),
RunnerNumber = table.Column<int>(nullable: false),
JockeyId = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Runners", x => x.Id);
});
migrationBuilder.CreateTable(
name: "LastRuns",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
RaceType = table.Column<string>(nullable: true),
Days = table.Column<int>(nullable: false),
RunnerId = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_LastRuns", x => x.Id);
table.ForeignKey(
name: "FK_LastRuns_Runners_RunnerId",
column: x => x.RunnerId,
principalTable: "Runners",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex(
name: "IX_LastRuns_RunnerId",
table: "LastRuns",
column: "RunnerId");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "LastRuns");
migrationBuilder.DropTable(
name: "Races");
migrationBuilder.DropTable(
name: "RunnerResults");
migrationBuilder.DropTable(
name: "Runners");
}
}
}
@@ -0,0 +1,467 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200227201354_RaceRunnerDetails")]
partial class RaceRunnerDetails
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,412 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class RaceRunnerDetails : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<int>(
name: "AgeYear",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
name: "AnimalId",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<string>(
name: "BettingRatio",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "Bred",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "ClothNumber",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "DivisionSequence",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
name: "DrawnStall",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "FinishTime",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "FinishTimeInMilliseconds",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "HorseId",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
name: "Hro",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
name: "JockeyId",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "JockeyName",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "JockeyProfile",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
name: "LossMilliseconds",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<DateTime>(
name: "NonRunnerDeclaredDate",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "NonRunnerDeclaredReason",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<TimeSpan>(
name: "NonRunnerDeclaredTime",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "OwnerId",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "OwnerName",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "PerformanceFigure",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "Plus10",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<string>(
name: "PositionFinishTime",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "RaceCriteriaRaceType",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "RaceId",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<string>(
name: "RacehorseName",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "RacehorseNameWithoutConuntry",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "Ran",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<string>(
name: "RatingAwt",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "RatingChase",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "RatingFlat",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "RatingHurdle",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "ResultBtnDistance",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "ResultFinishPos",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "SexType",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "SilkImage",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "Status",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "TrainerId",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "TrainerName",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "WbSilkCode",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "WbSilkDescription",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "WeightValue",
table: "RunnerResults",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "YearOfRace",
table: "RunnerResults",
nullable: false,
defaultValue: 0);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "AgeYear",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "AnimalId",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "BettingRatio",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "Bred",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "ClothNumber",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "DivisionSequence",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "DrawnStall",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "FinishTime",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "FinishTimeInMilliseconds",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "HorseId",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "Hro",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "JockeyId",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "JockeyName",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "JockeyProfile",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "LossMilliseconds",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "NonRunnerDeclaredDate",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "NonRunnerDeclaredReason",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "NonRunnerDeclaredTime",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "OwnerId",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "OwnerName",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "PerformanceFigure",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "Plus10",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "PositionFinishTime",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "RaceCriteriaRaceType",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "RaceId",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "RacehorseName",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "RacehorseNameWithoutConuntry",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "Ran",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "RatingAwt",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "RatingChase",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "RatingFlat",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "RatingHurdle",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "ResultBtnDistance",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "ResultFinishPos",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "SexType",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "SilkImage",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "Status",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "TrainerId",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "TrainerName",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "WbSilkCode",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "WbSilkDescription",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "WeightValue",
table: "RunnerResults");
migrationBuilder.DropColumn(
name: "YearOfRace",
table: "RunnerResults");
}
}
}
@@ -0,0 +1,467 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200227234057_RaceRunnerDetailsTime")]
partial class RaceRunnerDetailsTime
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class RaceRunnerDetailsTime : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<int>(
name: "LossMilliseconds",
table: "RunnerResults",
nullable: true,
oldClrType: typeof(int),
oldType: "int");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<int>(
name: "LossMilliseconds",
table: "RunnerResults",
type: "int",
nullable: false,
oldClrType: typeof(int),
oldNullable: true);
}
}
}
+470
View File
@@ -0,0 +1,470 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200228205907_DNF")]
partial class DNF
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class DNF : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "ResultFinishDNF",
table: "RunnerResults",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ResultFinishDNF",
table: "RunnerResults");
}
}
}
@@ -0,0 +1,473 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200228230741_DecimalOdds")]
partial class DecimalOdds
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("DecimailOdds")
.HasColumnType("decimal(18,2)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class DecimalOdds : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<decimal>(
name: "DecimailOdds",
table: "Runners",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "DecimailOdds",
table: "Runners");
}
}
}
@@ -0,0 +1,473 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200228231116_DecimalOddsRename")]
partial class DecimalOddsRename
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("DecimalOdds")
.HasColumnType("decimal(18,2)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,32 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class DecimalOddsRename : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "DecimailOdds",
table: "Runners");
migrationBuilder.AddColumn<decimal>(
name: "DecimalOdds",
table: "Runners",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "DecimalOdds",
table: "Runners");
migrationBuilder.AddColumn<decimal>(
name: "DecimailOdds",
table: "Runners",
type: "decimal(18,2)",
nullable: true);
}
}
}
@@ -0,0 +1,476 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200228233655_RacehorseNameNoCountry")]
partial class RacehorseNameNoCountry
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("DecimalOdds")
.HasColumnType("decimal(18,2)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("RaceHorseNameWithoutCountry")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class RacehorseNameNoCountry : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "RaceHorseNameWithoutCountry",
table: "Runners",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "RaceHorseNameWithoutCountry",
table: "Runners");
}
}
}
@@ -0,0 +1,479 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200229113517_AddWeightInGrams")]
partial class AddWeightInGrams
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("DecimalOdds")
.HasColumnType("decimal(18,2)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("RaceHorseNameWithoutCountry")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("WeightInGrams")
.HasColumnType("decimal(18,2)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class AddWeightInGrams : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<decimal>(
name: "WeightInGrams",
table: "Runners",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "WeightInGrams",
table: "Runners");
}
}
}
@@ -0,0 +1,482 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200229185203_AddPredictionToRunner")]
partial class AddPredictionToRunner
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("DecimalOdds")
.HasColumnType("decimal(18,2)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<float>("Prediction")
.HasColumnType("real");
b.Property<string>("RaceHorseNameWithoutCountry")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("WeightInGrams")
.HasColumnType("decimal(18,2)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,23 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class AddPredictionToRunner : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<float>(
name: "Prediction",
table: "Runners",
nullable: false,
defaultValue: 0f);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Prediction",
table: "Runners");
}
}
}
@@ -0,0 +1,580 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200310165642_AddFixtures")]
partial class AddFixtures
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.2")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.Fixture", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<int>("BcsEvent")
.HasColumnType("int");
b.Property<int>("BlackTypeRaces")
.HasColumnType("int");
b.Property<int>("CourseId")
.HasColumnType("int");
b.Property<string>("CourseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("Distance")
.HasColumnType("nvarchar(max)");
b.Property<bool>("EntriesAvailable")
.HasColumnType("bit");
b.Property<DateTime?>("FirstRace")
.HasColumnType("datetime2");
b.Property<DateTime>("FixtureDate")
.HasColumnType("datetime2");
b.Property<int>("FixtureId")
.HasColumnType("int");
b.Property<string>("FixtureName")
.HasColumnType("nvarchar(max)");
b.Property<int>("FixtureSession")
.HasColumnType("int");
b.Property<int>("FixtureType")
.HasColumnType("int");
b.Property<int>("FixtureYear")
.HasColumnType("int");
b.Property<string>("Going")
.HasColumnType("nvarchar(max)");
b.Property<string>("GoingUpdatedDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("GoingUpdatedTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("MajorEvent")
.HasColumnType("int");
b.Property<int>("MeetingId")
.HasColumnType("int");
b.Property<int>("NumberOfRaces")
.HasColumnType("int");
b.Property<string>("Other")
.HasColumnType("nvarchar(max)");
b.Property<int>("RacePlanningCode")
.HasColumnType("int");
b.Property<bool>("RacecardAvailable")
.HasColumnType("bit");
b.Property<int>("RacingTrackType")
.HasColumnType("int");
b.Property<string>("Rail")
.HasColumnType("nvarchar(max)");
b.Property<bool>("ResultsAvailable")
.HasColumnType("bit");
b.Property<string>("Stalls")
.HasColumnType("nvarchar(max)");
b.Property<string>("TicketsLink")
.HasColumnType("nvarchar(max)");
b.Property<string>("Weather")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Fixtures");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("DecimalOdds")
.HasColumnType("decimal(18,2)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<float>("Prediction")
.HasColumnType("real");
b.Property<string>("RaceHorseNameWithoutCountry")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("WeightInGrams")
.HasColumnType("decimal(18,2)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,57 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class AddFixtures : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Fixtures",
columns: table => new
{
Id = table.Column<string>(nullable: false),
GoingUpdatedTime = table.Column<string>(nullable: true),
GoingUpdatedDate = table.Column<string>(nullable: true),
FixtureSession = table.Column<int>(nullable: false),
AbandonedReasonCode = table.Column<int>(nullable: false),
Rail = table.Column<string>(nullable: true),
Stalls = table.Column<string>(nullable: true),
Other = table.Column<string>(nullable: true),
Weather = table.Column<string>(nullable: true),
Going = table.Column<string>(nullable: true),
MajorEvent = table.Column<int>(nullable: true),
TicketsLink = table.Column<string>(nullable: true),
CourseId = table.Column<int>(nullable: false),
RacePlanningCode = table.Column<int>(nullable: false),
RacingTrackType = table.Column<int>(nullable: false),
MeetingId = table.Column<int>(nullable: false),
FixtureType = table.Column<int>(nullable: false),
FixtureName = table.Column<string>(nullable: true),
NumberOfRaces = table.Column<int>(nullable: false),
BcsEvent = table.Column<int>(nullable: false),
BlackTypeRaces = table.Column<int>(nullable: false),
EntriesAvailable = table.Column<bool>(nullable: false),
RacecardAvailable = table.Column<bool>(nullable: false),
ResultsAvailable = table.Column<bool>(nullable: false),
FirstRace = table.Column<DateTime>(nullable: true),
CourseName = table.Column<string>(nullable: true),
Distance = table.Column<string>(nullable: true),
FixtureDate = table.Column<DateTime>(nullable: false),
FixtureYear = table.Column<int>(nullable: false),
FixtureId = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Fixtures", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Fixtures");
}
}
}
@@ -0,0 +1,583 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200311215708_AddFixtureIdToRace")]
partial class AddFixtureIdToRace
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.2")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.Fixture", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<int>("BcsEvent")
.HasColumnType("int");
b.Property<int>("BlackTypeRaces")
.HasColumnType("int");
b.Property<int>("CourseId")
.HasColumnType("int");
b.Property<string>("CourseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("Distance")
.HasColumnType("nvarchar(max)");
b.Property<bool>("EntriesAvailable")
.HasColumnType("bit");
b.Property<DateTime?>("FirstRace")
.HasColumnType("datetime2");
b.Property<DateTime>("FixtureDate")
.HasColumnType("datetime2");
b.Property<int>("FixtureId")
.HasColumnType("int");
b.Property<string>("FixtureName")
.HasColumnType("nvarchar(max)");
b.Property<int>("FixtureSession")
.HasColumnType("int");
b.Property<int>("FixtureType")
.HasColumnType("int");
b.Property<int>("FixtureYear")
.HasColumnType("int");
b.Property<string>("Going")
.HasColumnType("nvarchar(max)");
b.Property<string>("GoingUpdatedDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("GoingUpdatedTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("MajorEvent")
.HasColumnType("int");
b.Property<int>("MeetingId")
.HasColumnType("int");
b.Property<int>("NumberOfRaces")
.HasColumnType("int");
b.Property<string>("Other")
.HasColumnType("nvarchar(max)");
b.Property<int>("RacePlanningCode")
.HasColumnType("int");
b.Property<bool>("RacecardAvailable")
.HasColumnType("bit");
b.Property<int>("RacingTrackType")
.HasColumnType("int");
b.Property<string>("Rail")
.HasColumnType("nvarchar(max)");
b.Property<bool>("ResultsAvailable")
.HasColumnType("bit");
b.Property<string>("Stalls")
.HasColumnType("nvarchar(max)");
b.Property<string>("TicketsLink")
.HasColumnType("nvarchar(max)");
b.Property<string>("Weather")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Fixtures");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int>("FixtureId")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("DecimalOdds")
.HasColumnType("decimal(18,2)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<float>("Prediction")
.HasColumnType("real");
b.Property<string>("RaceHorseNameWithoutCountry")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("WeightInGrams")
.HasColumnType("decimal(18,2)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,23 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class AddFixtureIdToRace : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<int>(
name: "FixtureId",
table: "Races",
nullable: false,
defaultValue: 0);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "FixtureId",
table: "Races");
}
}
}
@@ -0,0 +1,583 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
[Migration("20200413114806_JockeyIdCanBeNull")]
partial class JockeyIdCanBeNull
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.2")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.Fixture", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<int>("BcsEvent")
.HasColumnType("int");
b.Property<int>("BlackTypeRaces")
.HasColumnType("int");
b.Property<int>("CourseId")
.HasColumnType("int");
b.Property<string>("CourseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("Distance")
.HasColumnType("nvarchar(max)");
b.Property<bool>("EntriesAvailable")
.HasColumnType("bit");
b.Property<DateTime?>("FirstRace")
.HasColumnType("datetime2");
b.Property<DateTime>("FixtureDate")
.HasColumnType("datetime2");
b.Property<int>("FixtureId")
.HasColumnType("int");
b.Property<string>("FixtureName")
.HasColumnType("nvarchar(max)");
b.Property<int>("FixtureSession")
.HasColumnType("int");
b.Property<int>("FixtureType")
.HasColumnType("int");
b.Property<int>("FixtureYear")
.HasColumnType("int");
b.Property<string>("Going")
.HasColumnType("nvarchar(max)");
b.Property<string>("GoingUpdatedDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("GoingUpdatedTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("MajorEvent")
.HasColumnType("int");
b.Property<int>("MeetingId")
.HasColumnType("int");
b.Property<int>("NumberOfRaces")
.HasColumnType("int");
b.Property<string>("Other")
.HasColumnType("nvarchar(max)");
b.Property<int>("RacePlanningCode")
.HasColumnType("int");
b.Property<bool>("RacecardAvailable")
.HasColumnType("bit");
b.Property<int>("RacingTrackType")
.HasColumnType("int");
b.Property<string>("Rail")
.HasColumnType("nvarchar(max)");
b.Property<bool>("ResultsAvailable")
.HasColumnType("bit");
b.Property<string>("Stalls")
.HasColumnType("nvarchar(max)");
b.Property<string>("TicketsLink")
.HasColumnType("nvarchar(max)");
b.Property<string>("Weather")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Fixtures");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int>("FixtureId")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("DecimalOdds")
.HasColumnType("decimal(18,2)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<float>("Prediction")
.HasColumnType("real");
b.Property<string>("RaceHorseNameWithoutCountry")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("WeightInGrams")
.HasColumnType("decimal(18,2)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace AutoBet.Db.Migrations
{
public partial class JockeyIdCanBeNull : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<int>(
name: "JockeyId",
table: "Runners",
nullable: true,
oldClrType: typeof(int),
oldType: "int");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<int>(
name: "JockeyId",
table: "Runners",
type: "int",
nullable: false,
oldClrType: typeof(int),
oldNullable: true);
}
}
}
@@ -0,0 +1,581 @@
// <auto-generated />
using System;
using AutoBet.Db;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace AutoBet.Db.Migrations
{
[DbContext(typeof(HorseRacingDataContext))]
partial class HorseRacingDataContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.2")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<decimal>("Available")
.HasColumnType("decimal(18,2)");
b.Property<decimal>("Odds")
.HasColumnType("decimal(18,2)");
b.Property<int?>("OddsSnapshotId")
.HasColumnType("int");
b.Property<int>("OddsType")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("OddsSnapshotId");
b.ToTable("BetOdds");
});
modelBuilder.Entity("AutoBet.Db.Fixture", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<int>("BcsEvent")
.HasColumnType("int");
b.Property<int>("BlackTypeRaces")
.HasColumnType("int");
b.Property<int>("CourseId")
.HasColumnType("int");
b.Property<string>("CourseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("Distance")
.HasColumnType("nvarchar(max)");
b.Property<bool>("EntriesAvailable")
.HasColumnType("bit");
b.Property<DateTime?>("FirstRace")
.HasColumnType("datetime2");
b.Property<DateTime>("FixtureDate")
.HasColumnType("datetime2");
b.Property<int>("FixtureId")
.HasColumnType("int");
b.Property<string>("FixtureName")
.HasColumnType("nvarchar(max)");
b.Property<int>("FixtureSession")
.HasColumnType("int");
b.Property<int>("FixtureType")
.HasColumnType("int");
b.Property<int>("FixtureYear")
.HasColumnType("int");
b.Property<string>("Going")
.HasColumnType("nvarchar(max)");
b.Property<string>("GoingUpdatedDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("GoingUpdatedTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("MajorEvent")
.HasColumnType("int");
b.Property<int>("MeetingId")
.HasColumnType("int");
b.Property<int>("NumberOfRaces")
.HasColumnType("int");
b.Property<string>("Other")
.HasColumnType("nvarchar(max)");
b.Property<int>("RacePlanningCode")
.HasColumnType("int");
b.Property<bool>("RacecardAvailable")
.HasColumnType("bit");
b.Property<int>("RacingTrackType")
.HasColumnType("int");
b.Property<string>("Rail")
.HasColumnType("nvarchar(max)");
b.Property<bool>("ResultsAvailable")
.HasColumnType("bit");
b.Property<string>("Stalls")
.HasColumnType("nvarchar(max)");
b.Property<string>("TicketsLink")
.HasColumnType("nvarchar(max)");
b.Property<string>("Weather")
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.ToTable("Fixtures");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<int>("Days")
.HasColumnType("int");
b.Property<string>("RaceType")
.HasColumnType("nvarchar(max)");
b.Property<string>("RunnerId")
.HasColumnType("nvarchar(450)");
b.HasKey("Id");
b.HasIndex("RunnerId");
b.ToTable("LastRuns");
});
modelBuilder.Entity("AutoBet.Db.OddsSnapshot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<string>("EventName")
.HasColumnType("nvarchar(max)");
b.Property<string>("HorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("SnapshotDate")
.HasColumnType("datetime2");
b.HasKey("Id");
b.ToTable("OddsSnapshots");
});
modelBuilder.Entity("AutoBet.Db.Race", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AbandonedReasonCode")
.HasColumnType("int");
b.Property<string>("AgeLimit")
.HasColumnType("nvarchar(max)");
b.Property<int>("BlackTypeRace")
.HasColumnType("int");
b.Property<string>("DistanceChange")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceChangeText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceText")
.HasColumnType("nvarchar(max)");
b.Property<string>("DistanceUnits")
.HasColumnType("nvarchar(max)");
b.Property<int>("DistanceValue")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int>("FixtureId")
.HasColumnType("int");
b.Property<bool>("Plus10")
.HasColumnType("bit");
b.Property<int>("PrizeAmount")
.HasColumnType("int");
b.Property<string>("PrizeCurrency")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceClass")
.HasColumnType("int");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("RaceDate")
.HasColumnType("datetime2");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RaceName")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan>("RaceTime")
.HasColumnType("time");
b.Property<string>("RatingBand")
.HasColumnType("nvarchar(max)");
b.Property<string>("RawDistanceText")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Races");
});
modelBuilder.Entity("AutoBet.Db.Runner", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYears")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BhaRating")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int>("ClothNumber")
.HasColumnType("int");
b.Property<string>("CourseWinner")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("DecimalOdds")
.HasColumnType("decimal(18,2)");
b.Property<string>("DistanceWinner")
.HasColumnType("nvarchar(max)");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("ForecastPriceDenominator")
.HasColumnType("nvarchar(max)");
b.Property<string>("ForecastPriceNumerator")
.HasColumnType("nvarchar(max)");
b.Property<string>("FormFigures")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearAbbreviation")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearDescription")
.HasColumnType("nvarchar(max)");
b.Property<string>("HeadGearWearingCode")
.HasColumnType("nvarchar(max)");
b.Property<int>("HeadGearWearingSheepSkin")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<string>("NonRunnerDeclaredDate")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<string>("NonRunnerDeclaredTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("Odds")
.HasColumnType("nvarchar(max)");
b.Property<int>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<int>("PenaltyValue")
.HasColumnType("int");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<float>("Prediction")
.HasColumnType("real");
b.Property<string>("RaceHorseNameWithoutCountry")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("ReserveNumber")
.HasColumnType("nvarchar(max)");
b.Property<int>("RunnerNumber")
.HasColumnType("int");
b.Property<int>("SexType")
.HasColumnType("int");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<int>("Status")
.HasColumnType("int");
b.Property<int>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("WeightInGrams")
.HasColumnType("decimal(18,2)");
b.Property<string>("WeightText")
.HasColumnType("nvarchar(max)");
b.Property<string>("WeightValue")
.HasColumnType("nvarchar(max)");
b.Property<int>("WeightsJockeyClaiming")
.HasColumnType("int");
b.Property<string>("WindSurgeryFirstRun")
.HasColumnType("nvarchar(max)");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Runners");
});
modelBuilder.Entity("AutoBet.Db.RunnerResult", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("nvarchar(450)");
b.Property<int>("AgeYear")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<string>("BettingRatio")
.HasColumnType("nvarchar(max)");
b.Property<string>("Bred")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClothNumber")
.HasColumnType("int");
b.Property<int>("DivisionSequence")
.HasColumnType("int");
b.Property<int?>("DrawnStall")
.HasColumnType("int");
b.Property<string>("FinishTime")
.HasColumnType("nvarchar(max)");
b.Property<int?>("FinishTimeInMilliseconds")
.HasColumnType("int");
b.Property<int>("HorseId")
.HasColumnType("int");
b.Property<int>("Hro")
.HasColumnType("int");
b.Property<int?>("JockeyId")
.HasColumnType("int");
b.Property<string>("JockeyName")
.HasColumnType("nvarchar(max)");
b.Property<int>("JockeyProfile")
.HasColumnType("int");
b.Property<int?>("LossMilliseconds")
.HasColumnType("int");
b.Property<DateTime?>("NonRunnerDeclaredDate")
.HasColumnType("datetime2");
b.Property<string>("NonRunnerDeclaredReason")
.HasColumnType("nvarchar(max)");
b.Property<TimeSpan?>("NonRunnerDeclaredTime")
.HasColumnType("time");
b.Property<int?>("OwnerId")
.HasColumnType("int");
b.Property<string>("OwnerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("PerformanceFigure")
.HasColumnType("nvarchar(max)");
b.Property<int>("Plus10")
.HasColumnType("int");
b.Property<string>("PositionFinishTime")
.HasColumnType("nvarchar(max)");
b.Property<string>("RaceCriteriaRaceType")
.HasColumnType("nvarchar(max)");
b.Property<int>("RaceId")
.HasColumnType("int");
b.Property<string>("RacehorseName")
.HasColumnType("nvarchar(max)");
b.Property<string>("RacehorseNameWithoutConuntry")
.HasColumnType("nvarchar(max)");
b.Property<int>("Ran")
.HasColumnType("int");
b.Property<string>("RatingAwt")
.HasColumnType("nvarchar(max)");
b.Property<string>("RatingChase")
.HasColumnType("nvarchar(max)");
b.Property<int?>("RatingFlat")
.HasColumnType("int");
b.Property<string>("RatingHurdle")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultBtnDistance")
.HasColumnType("nvarchar(max)");
b.Property<string>("ResultFinishDNF")
.HasColumnType("nvarchar(max)");
b.Property<int?>("ResultFinishPos")
.HasColumnType("int");
b.Property<string>("SexType")
.HasColumnType("nvarchar(max)");
b.Property<string>("SilkImage")
.HasColumnType("nvarchar(max)");
b.Property<string>("Status")
.HasColumnType("nvarchar(max)");
b.Property<int?>("TrainerId")
.HasColumnType("int");
b.Property<string>("TrainerName")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkCode")
.HasColumnType("nvarchar(max)");
b.Property<string>("WbSilkDescription")
.HasColumnType("nvarchar(max)");
b.Property<int?>("WeightValue")
.HasColumnType("int");
b.Property<int>("YearOfRace")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("RunnerResults");
});
modelBuilder.Entity("AutoBet.Db.BetOdds", b =>
{
b.HasOne("AutoBet.Db.OddsSnapshot", "OddsSnapshot")
.WithMany("Odds")
.HasForeignKey("OddsSnapshotId");
});
modelBuilder.Entity("AutoBet.Db.LastRun", b =>
{
b.HasOne("AutoBet.Db.Runner", null)
.WithMany("LastRuns")
.HasForeignKey("RunnerId");
});
#pragma warning restore 612, 618
}
}
}
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="logfile" xsi:type="File" fileName="file.txt" />
<target name="logconsole" xsi:type="Console" />
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="logconsole" />
<logger name="*" minlevel="Debug" writeTo="logfile" />
</rules>
</nlog>
+15
View File
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace AutoBet.Db
{
public class OddsSnapshot
{
public int Id { get; set; }
public string EventName { get; set; }
public string HorseName { get; set; }
public string JockeyName { get; set; }
public DateTime SnapshotDate { get; set; }
public List<BetOdds> Odds { get; set; }
}
}
+8
View File
@@ -0,0 +1,8 @@
namespace AutoBet.Db
{
public enum OddsType
{
Back,
Lay
}
}
+30
View File
@@ -0,0 +1,30 @@
using System;
namespace AutoBet.Db
{
public class Race : Entity
{
public string DistanceChangeText { get; set; }
public int BlackTypeRace { get; set; }
public int AbandonedReasonCode { get; set; }
public string RaceCriteriaRaceType { get; set; }
public string DistanceChange { get; set; }
public string DistanceText { get; set; }
public int DistanceValue { get; set; }
public string DistanceUnits { get; set; }
public string RawDistanceText { get; set; }
public string RatingBand { get; set; }
public int RaceClass { get; set; }
public string PrizeCurrency { get; set; }
public int PrizeAmount { get; set; }
public string AgeLimit { get; set; }
public string RaceName { get; set; }
public TimeSpan RaceTime { get; set; }
public DateTime RaceDate { get; set; }
public int DivisionSequence { get; set; }
public int YearOfRace { get; set; }
public int RaceId { get; set; }
public bool Plus10 { get; set; }
public int FixtureId { get; set; }
}
}
+7
View File
@@ -0,0 +1,7 @@
namespace AutoBet.Db
{
public enum RacePlanningCode
{
Normal = 0
}
}
+9
View File
@@ -0,0 +1,9 @@
namespace AutoBet.Db
{
public enum RacingTrackType
{
Awt = 0,
Turf = 1,
Mixed = 2
}
}
+57
View File
@@ -0,0 +1,57 @@
using System.Collections.Generic;
using System.Text;
namespace AutoBet.Db
{
public class Runner : Entity
{
public string HeadGearWearingCode { get; set; }
public int HeadGearWearingSheepSkin { get; set; }
public string HeadGearDescription { get; set; }
public string HeadGearAbbreviation { get; set; }
public int JockeyProfile { get; set; }
public string CourseWinner { get; set; }
public string DistanceWinner { get; set; }
public string WindSurgeryFirstRun { get; set; }
public int TrainerId { get; set; }
public string TrainerName { get; set; }
public int OwnerId { get; set; }
public string OwnerName { get; set; }
public string WbSilkCode { get; set; }
public string WbSilkDescription { get; set; }
public string SilkImage { get; set; }
public int Plus10 { get; set; }
public string ForecastPriceNumerator { get; set; }
public string ForecastPriceDenominator { get; set; }
public string WeightText { get; set; }
public int WeightsJockeyClaiming { get; set; }
public string Odds { get; set; }
public string JockeyName { get; set; }
public Status Status { get; set; }
public int RaceId { get; set; }
public int YearOfRace { get; set; }
public int DivisionSequence { get; set; }
public int AnimalId { get; set; }
public string RacehorseName { get; set; }
public int AgeYears { get; set; }
public string Bred { get; set; }
public int ClothNumber { get; set; }
public int? DrawnStall { get; set; }
public string ReserveNumber { get; set; }
public string BhaRating { get; set; }
public string FormFigures { get; set; }
public string WeightValue { get; set; }
public int PenaltyValue { get; set; }
public SexType SexType { get; set; }
public string NonRunnerDeclaredReason { get; set; }
public string NonRunnerDeclaredDate { get; set; }
public string NonRunnerDeclaredTime { get; set; }
public int RunnerNumber { get; set; }
public int? JockeyId { get; set; }
public List<LastRun> LastRuns { get; set; }
public decimal? DecimalOdds { get; set; }
public string RaceHorseNameWithoutCountry { get; set; }
public decimal? WeightInGrams { get; set; }
public float Prediction { get; set; }
}
}
+54
View File
@@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoBet.Db
{
public class RunnerResult : Entity
{
public int RaceId { get; set; }
public int YearOfRace { get; set; }
public int DivisionSequence { get; set; }
public int HorseId { get; set; }
public int AnimalId { get; set; }
public int? ResultFinishPos { get; set; }
public string Status { get; set; }
public int Ran { get; set; }
public string NonRunnerDeclaredReason { get; set; }
public DateTime? NonRunnerDeclaredDate { get; set; }
public TimeSpan? NonRunnerDeclaredTime { get; set; }
public string RacehorseName { get; set; }
public int AgeYear { get; set; }
public string Bred { get; set; }
public int? ClothNumber { get; set; }
public int? DrawnStall { get; set; }
public int? WeightValue { get; set; }
public string SexType { get; set; }
public int? JockeyId { get; set; }
public string JockeyName { get; set; }
public int JockeyProfile { get; set; }
public int? TrainerId { get; set; }
public string TrainerName { get; set; }
public int? OwnerId { get; set; }
public string OwnerName { get; set; }
public string WbSilkCode { get; set; }
public string WbSilkDescription { get; set; }
public string SilkImage { get; set; }
public int Plus10 { get; set; }
public string ResultBtnDistance { get; set; }
public string PositionFinishTime { get; set; }
public string BettingRatio { get; set; }
public string PerformanceFigure { get; set; }
public int? RatingFlat { get; set; }
public string RatingAwt { get; set; }
public string RatingChase { get; set; }
public string RatingHurdle { get; set; }
public string RaceCriteriaRaceType { get; set; }
public int Hro { get; set; }
public string FinishTime { get; set; }
public string ResultFinishDNF { get; set; }
public int? FinishTimeInMilliseconds { get; set; }
public int? LossMilliseconds { get; set; }
public string RacehorseNameWithoutConuntry { get; set; }
}
}
+11
View File
@@ -0,0 +1,11 @@
namespace AutoBet.Db
{
public enum SexType
{
Filly,
Gelding,
Colt,
Mare,
Stallion
}
}
+10
View File
@@ -0,0 +1,10 @@
namespace AutoBet.Db
{
public enum Status
{
Runner,
Dnf,
Withdrawn,
NonRunner
}
}