Added basic search implementation with display components
This commit is contained in:
@@ -30,14 +30,6 @@ public class ApplicationDbContext(DbContextOptions<ApplicationDbContext> options
|
||||
{
|
||||
base.OnModelCreating(modelBuilder);
|
||||
|
||||
/*
|
||||
modelBuilder.Entity<ArtifactEntry>()
|
||||
.HasMany(p => p.Files)
|
||||
.WithOne(p => p.ParentArtifactEntry)
|
||||
.IsRequired(false);
|
||||
*/
|
||||
|
||||
// Make other associations
|
||||
modelBuilder.Entity<ArtifactEntry>()
|
||||
.HasMany(a => a.RelatedTo)
|
||||
.WithMany(a => a.RelatedBy)
|
||||
@@ -76,5 +68,79 @@ public class ApplicationDbContext(DbContextOptions<ApplicationDbContext> options
|
||||
|
||||
sourceDictionary => new Dictionary<string, string>(sourceDictionary)
|
||||
);
|
||||
|
||||
modelBuilder.Entity<ArtifactGrouping>()
|
||||
.HasGeneratedTsVectorColumn(
|
||||
p => p.AllSearchVector,
|
||||
"english",
|
||||
p => p.AllSearchString
|
||||
)
|
||||
.HasIndex(p => p.AllSearchVector)
|
||||
.HasMethod("GIN");
|
||||
|
||||
modelBuilder.Entity<ArtifactGrouping>()
|
||||
.HasGeneratedTsVectorColumn(
|
||||
p => p.TagsSearchVector,
|
||||
"english",
|
||||
p => p.TagsSearchString
|
||||
)
|
||||
.HasIndex(p => p.TagsSearchVector)
|
||||
.HasMethod("GIN");
|
||||
|
||||
modelBuilder.Entity<ArtifactGrouping>()
|
||||
.HasGeneratedTsVectorColumn(
|
||||
p => p.DefectsSearchVector,
|
||||
"english",
|
||||
p => p.DefectsSearchString
|
||||
)
|
||||
.HasIndex(p => p.DefectsSearchVector)
|
||||
.HasMethod("GIN");
|
||||
|
||||
modelBuilder.Entity<ArtifactGrouping>()
|
||||
.HasGeneratedTsVectorColumn(
|
||||
p => p.ListedNamesSearchVector,
|
||||
"english",
|
||||
p => p.ListedNamesSearchString
|
||||
)
|
||||
.HasIndex(p => p.ListedNamesSearchVector)
|
||||
.HasMethod("GIN");
|
||||
|
||||
modelBuilder.Entity<ArtifactGrouping>()
|
||||
.HasGeneratedTsVectorColumn(
|
||||
p => p.TitleSearchVector,
|
||||
"english",
|
||||
p => p.TitleSearchString
|
||||
)
|
||||
.HasIndex(p => p.TitleSearchVector)
|
||||
.HasMethod("GIN");
|
||||
|
||||
modelBuilder.Entity<ArtifactGrouping>()
|
||||
.HasGeneratedTsVectorColumn(
|
||||
p => p.DescriptionSearchVector,
|
||||
"english",
|
||||
p => p.DescriptionSearchString
|
||||
)
|
||||
.HasIndex(p => p.DescriptionSearchVector)
|
||||
.HasMethod("GIN");
|
||||
|
||||
modelBuilder.Entity<ArtifactGrouping>()
|
||||
.HasGeneratedTsVectorColumn(
|
||||
p => p.FilenamesSearchVector,
|
||||
"english",
|
||||
p => p.FilenamesSearchString
|
||||
)
|
||||
.HasIndex(p => p.FilenamesSearchVector)
|
||||
.HasMethod("GIN");
|
||||
|
||||
modelBuilder.Entity<ArtifactGrouping>()
|
||||
.HasGeneratedTsVectorColumn(
|
||||
p => p.FileContentSearchVector,
|
||||
"english",
|
||||
p => p.FileContentSearchString
|
||||
)
|
||||
.HasIndex(p => p.FileContentSearchVector)
|
||||
.HasMethod("GIN");
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user