Проблема SQL: Используя СОДЕРЖИТ (), не работает, но КАК хорошо работает

Entity Framework Ver 6 (Alpha, rc1) имеет нечто вроде пользовательских условных обозначений. Чтобы установить десятичную точность:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Properties().Configure(config => config.HasPrecision(18, 4));
}

Ссылка:

14
задан Maksym Gontar 6 March 2009 в 21:07
поделиться

4 ответа

Две мысли:

(1) дефис можно было бы рассматривать как разрыв слова, Что они возвращают?

SELECT * FROM Products WHERE CONTAINS(Keywords, 'SA')
SELECT * FROM Products WHERE CONTAINS(Keywords, 'SA 300')
SELECT * FROM Products WHERE CONTAINS(Keywords, 'SA300')

Посмотрите этот другой вопрос .

(2) Вы попытались восстановить свой полнотекстовый индекс? Возможно, что это устарело.

14
ответ дан 1 December 2019 в 13:34
поделиться

Оказывается, что я должен был восстановить свой полнотекстовый индекс. Спасибо за подсказки @MichaelGG и @JohnFx

4
ответ дан 1 December 2019 в 13:34
поделиться

Вы взглянули на свой шумовой файл слов? На моей машине это расположено здесь c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData\noiseENG.txt

Один способ, которым Вы могли протестировать, это путем редактирования конкретного шумового файла только с одиночным пробелом так, чтобы это индексировало все, и попробуйте запрос снова. Я "протестировал" бы это в тестовой среде а не в производстве.

0
ответ дан 1 December 2019 в 13:34
поделиться

Можете Вы пробовать

SELECT * FROM Products WHERE CONTAINS(Keywords, ' "SA-300" ')

, я видел пример того, что Вы пытаетесь сделать на msdn.

-1
ответ дан 1 December 2019 в 13:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: