Пока база данных поддерживает текстовое поле, которое может поддерживать большие объемы текста, вы просто добавляете индекс к этому полю, выполняя что-то вроде:
class MyContext: DbContext {public DbSet Blogs {get;задавать;}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Blog>()
.HasIndex(b => b.Url);
}
}
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
}
В ядре EF, если вы используете такие вещи, как StartsWith, Contains или EF.Functions.Like в функциях Where, тогда я считаю, что это переводится в Likeв SQL.Так что в ядре EF это будет использовать ваш полнотекстовый поиск полей в таких базах данных.
Я думаю, что это должно быть то же самое для linq2db ...
Так что да, это будет общим для любогобаза данных.
Однако, как я однажды узнал с помощью SQLite, я не смог добавить индекс к такому текстовому полю с большим количеством данных, поскольку база данных не поддерживает его ... (из памяти он был ограниченпримерно 1000 байт).