Это не совсем так, и ответ, скорее подтверждение, что это не имеет ничего общего со строками @ "", но, похоже, это ограничение подстановки параметров в ExecuteSqlCommand и SqlQuery.
У меня та же проблема, что и у вас, и я обнаружил, что вы не можете указать имя таблицы в качестве параметра.У меня есть команда, которая имеет вид:
Context.Database.ExecuteSqlCommand(@"Delete From MyTable WHERE MyColumn = {0}", someValue);
Это прекрасно работает, но если я пытаюсь предоставить MyTable в качестве параметра, он не работает.
Если вы подумаете об этом, имя таблицы на самом деле не подходит в качестве параметра, поэтому имеет смысл отклонить его.Однако я согласен с вами, что сообщение об ошибке действительно не так полезно.