I'm trying to call a SQL Server query from Raw
var result = context.Database.SqlQuery<UniversalExtend>("SELECT distinct(PC.ProductoCatalogoId)," +
" P.Nombre + ' ' + PL.Product + ' ' + E.Nombre + ' ' + O.NombreOpcion AS Descripcion, PC.PrecioVenta" +
" FROM ProductoCatalogos AS PC" +
" INNER JOIN Productos AS P ON PC.ProductoId = P.ProductoId" +
" INNER JOIN EspecificacionCatalogos AS EC ON PC.ProductoCatalogoId = EC.ProductoCatalogoId" +
" INNER JOIN EspecificacionProductos AS EP ON EC.EspecificacionProductoId = EP.EspecificacionProductoId" +
" INNER JOIN Especificaciones AS E ON EP.EspecificacionId = E.EspecificacionId" +
" AND E.EspecificacionId = @colorId",
new SqlParameter("@colorId", colorId) +
" INNER JOIN Opciones AS O ON EC.OpcionId = O.OpcionId" +
" CROSS APPLY(" +
" SELECT E.Nombre + ' ' + O.NombreOpcion AS 'Product'" +
" FROM ProductoCatalogos AS PC" +
" INNER JOIN Productos AS P ON PC.ProductoId = P.ProductoId" +
" INNER JOIN EspecificacionCatalogos AS EC ON PC.ProductoCatalogoId = EC.ProductoCatalogoId" +
" INNER JOIN EspecificacionProductos AS EP ON EC.EspecificacionProductoId = EP.EspecificacionProductoId" +
" INNER JOIN Especificaciones AS E ON EP.EspecificacionId = E.EspecificacionId" +
" AND E.EspecificacionId = @tallaId", new SqlParameter("@tallaId", tallaId) +
" INNER JOIN Opciones AS O ON EC.OpcionId = O.OpcionId" +
" ) PL" +
" WHERE P.Nombre LIKE '%' + @valor + '%'",
new SqlParameter("@valor", valor)).ToList();
The error is as follows:
When executing a command, parameters must be exclusively database parameters or values.