Этот запрос работает правильно:
var results = _mp4Db.Videos.FromSql(
"Select *
from Video
where isValid = 1
and (contains(Subject,'\"" + text + "" + '*' + "\"')
or contains(Description,'\"" + text + "" + '*' + "\"'))
order by
case
when contains(Subject,'\"" + text + "" + '*' + "\"')
then 1
else 2
end,
len(Subject)
offset 20 rows fetch next 20 rows only ");
Но если я использую string.Format
для более ясного кода, он не вернет результат, который должен:
var results = _mp4Db.Videos.FromSql(
"Select *
from Video
where isValid=1
and (contains(Subject,'\"{0}{1}\"')
or contains(Description,'\"{0}{1}\"'))
order by case
when contains(Subject,'\"{0}{1}\"')
then 1
else 2 End ,
LEN(Subject)
Offset 20 rows fetch next 20 rows only ", text, '*');
Есть идеи, чего здесь не хватает?