diff --git a/Kyoo/Controllers/LibraryManager.cs b/Kyoo/Controllers/LibraryManager.cs index 49c91c08..7d90e8ed 100644 --- a/Kyoo/Controllers/LibraryManager.cs +++ b/Kyoo/Controllers/LibraryManager.cs @@ -2,6 +2,7 @@ using Kyoo.Models.Watch; using System.Collections.Generic; using System.Linq; +using Microsoft.EntityFrameworkCore; namespace Kyoo.Controllers { @@ -70,7 +71,7 @@ namespace Kyoo.Controllers return (from show in _database.Shows from l in _database.CollectionLinks.DefaultIfEmpty() where l.CollectionID == null select show).AsEnumerable().Union( from collection in _database.Collections select collection.AsShow()) - .Where(x => x.Title.Contains(searchQuery)) + .Where(x => EF.Functions.Like(x.Title, $"%{searchQuery}%")) .Take(20).OrderBy(x => x.Title); } @@ -228,25 +229,25 @@ namespace Kyoo.Controllers public IEnumerable SearchEpisodes(string searchQuery) { - return (from episode in _database.Episodes where episode.Title.Contains(searchQuery) select episode) + return (from episode in _database.Episodes where EF.Functions.Like(episode.Title, $"%{searchQuery}%") select episode) .Take(20); } public IEnumerable SearchPeople(string searchQuery) { - return (from people in _database.Peoples where people.Name.Contains(searchQuery) select people) + return (from people in _database.Peoples where EF.Functions.Like(people.Name, $"%{searchQuery}%") select people) .Take(20); } public IEnumerable SearchGenres(string searchQuery) { - return (from genre in _database.Genres where genre.Name.Contains(searchQuery) select genre) + return (from genre in _database.Genres where EF.Functions.Like(genre.Name, $"%{searchQuery}%") select genre) .Take(20); } public IEnumerable SearchStudios(string searchQuery) { - return (from studio in _database.Studios where studio.Name.Contains(searchQuery) select studio) + return (from studio in _database.Studios where EF.Functions.Like(studio.Name, $"%{searchQuery}%") select studio) .Take(20); } #endregion diff --git a/Kyoo/DatabaseContext.cs b/Kyoo/DatabaseContext.cs index a3a1973e..f334656d 100644 --- a/Kyoo/DatabaseContext.cs +++ b/Kyoo/DatabaseContext.cs @@ -52,13 +52,6 @@ namespace Kyoo modelBuilder.Entity() .Property(t => t.IsForced) .ValueGeneratedNever(); - - modelBuilder.Entity().Property(x => x.Title).HasColumnType("TEXT COLLATE NOCASE"); - modelBuilder.Entity().Property(x => x.Name).HasColumnType("TEXT COLLATE NOCASE"); - modelBuilder.Entity().Property(x => x.Title).HasColumnType("TEXT COLLATE NOCASE"); - modelBuilder.Entity().Property(x => x.Name).HasColumnType("TEXT COLLATE NOCASE"); - modelBuilder.Entity().Property(x => x.Name).HasColumnType("TEXT COLLATE NOCASE"); - modelBuilder.Entity().Property(x => x.Name).HasColumnType("TEXT COLLATE NOCASE"); modelBuilder.Entity() .HasKey(x => new {x.ShowID, x.GenreID});