Add Foreign ID for faster retreival
This commit is contained in:
@@ -57,9 +57,11 @@ CREATE TABLE IF NOT EXISTS `Resume` (
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ResumeExperienceBullet` (
|
||||
`ID` int NOT NULL AUTO_INCREMENT,
|
||||
`ResumeID` int NOT NULL,
|
||||
`ResumeExperienceID` int NOT NULL,
|
||||
`JobFunction` text NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
FOREIGN KEY (`ResumeID`) REFERENCES `Resume`(`ID`) ON DELETE CASCADE,
|
||||
FOREIGN KEY (`ResumeExperienceID`) REFERENCES `ResumeExperience`(`ID`) ON DELETE CASCADE
|
||||
) AUTO_INCREMENT=1;
|
||||
|
||||
@@ -77,10 +79,12 @@ CREATE TABLE IF NOT EXISTS `Resume` (
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ResumeMillitaryBullet` (
|
||||
`ID` int NOT NULL AUTO_INCREMENT,
|
||||
`ResumeID` int NOT NULL,
|
||||
`ResumeMillitaryID` int NOT NULL,
|
||||
`Achevement` varchar(100) NOT NULL,
|
||||
`Description` text DEFAULT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
FOREIGN KEY (`ResumeID`) REFERENCES `Resume`(`ID`) ON DELETE CASCADE,
|
||||
FOREIGN KEY (`ResumeMillitaryID`) REFERENCES `ResumeMillitary`(`ID`) ON DELETE CASCADE
|
||||
) AUTO_INCREMENT=1;
|
||||
|
||||
|
||||
@@ -63,7 +63,9 @@ namespace BoredCareers.Services.DatabaseService {
|
||||
connection.Open();
|
||||
MySqlCommand resumeCommand = new MySqlCommand("SELECT * FROM Resume WHERE ID = @ResumeID;", connection);
|
||||
MySqlCommand ResumeExperienceCommand = new MySqlCommand("SELECT * FROM ResumeExperience WHERE ResumeID = @ResumeID;", connection);
|
||||
MySqlCommand ResumeExperienceBulletCommand = new MySqlCommand("SELECT * FROM ResumeExperienceBullet WHERE ResumeID = @ResumeID;");
|
||||
MySqlCommand ResumeMillitaryCommand = new MySqlCommand("SELECT * FROM ResumeMillitary WHERE ResumeID = @ResumeID;", connection);
|
||||
MySqlCommand ResumeMillitaryBulletCommand = new MySqlCommand("SELECT * FROM ResumeMillitaryBullet WHERE ResumeID = @ResumeID", connection);
|
||||
MySqlCommand ResumeEducationCommand = new MySqlCommand("SELECT * FROM ResumeEducation WHERE ResumeID = @ResumeID;", connection);
|
||||
MySqlCommand ResumeSkillCommand = new MySqlCommand("SELECT * FROM ResumeSkill WHERE ResumeID = @ResumeID;", connection);
|
||||
MySqlCommand ResumeLanguageCommand = new MySqlCommand("SELECT * FROM ResumeLanguage WHERE ResumeID = @ResumeID;", connection);
|
||||
@@ -72,7 +74,9 @@ namespace BoredCareers.Services.DatabaseService {
|
||||
|
||||
resumeCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||
ResumeExperienceCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||
ResumeExperienceBulletCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||
ResumeMillitaryCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||
ResumeMillitaryBulletCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||
ResumeEducationCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||
ResumeSkillCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||
ResumeLanguageCommand.Parameters.AddWithValue("@ResumeID", ResumeID);
|
||||
@@ -81,14 +85,16 @@ namespace BoredCareers.Services.DatabaseService {
|
||||
|
||||
Task<DbDataReader> resumeReader = resumeCommand.ExecuteReaderAsync();
|
||||
Task<DbDataReader> ResumeExperienceReader = ResumeExperienceCommand.ExecuteReaderAsync();
|
||||
Task<DbDataReader> ResumeExperienceBulletReader = ResumeExperienceBulletCommand.ExecuteReaderAsync();
|
||||
Task<DbDataReader> ResumeMillitaryReader = ResumeMillitaryCommand.ExecuteReaderAsync();
|
||||
Task<DbDataReader> ResumeMillitaryBulletReader = ResumeMillitaryBulletCommand.ExecuteReaderAsync();
|
||||
Task<DbDataReader> ResumeEducationReader = ResumeEducationCommand.ExecuteReaderAsync();
|
||||
Task<DbDataReader> ResumeSkillReader = ResumeSkillCommand.ExecuteReaderAsync();
|
||||
Task<DbDataReader> ResumeLanguageReader = ResumeLanguageCommand.ExecuteReaderAsync();
|
||||
Task<DbDataReader> ResumeCertificationReader = ResumeCertificationCommand.ExecuteReaderAsync();
|
||||
Task<DbDataReader> ResumeProjectnReader = ResumeProjectCommand.ExecuteReaderAsync();
|
||||
|
||||
await Task.WhenAll(resumeReader, ResumeExperienceReader, ResumeMillitaryReader, ResumeEducationReader, ResumeSkillReader, ResumeLanguageReader, ResumeCertificationReader, ResumeProjectnReader);
|
||||
await Task.WhenAll(resumeReader, ResumeExperienceReader, ResumeExperienceBulletReader, ResumeMillitaryReader, ResumeMillitaryBulletReader, ResumeEducationReader, ResumeSkillReader, ResumeLanguageReader, ResumeCertificationReader, ResumeProjectnReader);
|
||||
|
||||
using (DbDataReader reader = await resumeReader) {
|
||||
while (await reader.ReadAsync()) {
|
||||
@@ -125,15 +131,21 @@ namespace BoredCareers.Services.DatabaseService {
|
||||
}
|
||||
|
||||
using (DbDataReader reader = await ResumeExperienceReader) {
|
||||
// Need to run ResumeExperienceBullet after
|
||||
|
||||
}
|
||||
|
||||
using (DbDataReader reader = await ResumeExperienceBulletReader) {
|
||||
|
||||
}
|
||||
|
||||
using (DbDataReader reader = await ResumeMillitaryReader) {
|
||||
// Need to run ResumeMillitaryBullet after
|
||||
|
||||
}
|
||||
|
||||
using (DbDataReader reader = await ResumeMillitaryBulletReader) {
|
||||
|
||||
}
|
||||
|
||||
using (DbDataReader reader = await ResumeEducationReader) {
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user