context.Set<BlogKeyValuePair>()
.FromSql("SELECT [key], value FROM OPENJSON((SELECT JsonData FROM dbo.Blogs WHERE BlogId=1), '$.@path')",
new SqlParameter("@path", "path.to.data"));
При первом визировании это должно работать правильно, и @path
следует заменить на path.to.data
, но это не так, возникает исключение SqlException со следующей ошибкой:
System.Data.SqlClient.SqlException: неправильный синтаксис рядом с'@path'.
Похоже, что SQL-сервер не заменяет параметр, потому что это параметр внутри функции OPENJSON
.
Ищем безопасные обходные пути.