Stored procedures 将参数传递到“;行号”;

Stored procedures 将参数传递到“;行号”;,stored-procedures,sql-server-2012,row-number,Stored Procedures,Sql Server 2012,Row Number,当我尝试参数化列名时,我通过以下查询得到以下语法错误在“@SortBy”附近的语法不正确。 我能够使用动态SQL使其工作,但问题是实体框架无法使用exec为SP创建复杂类型 除了动态SQL之外,是否有其他方法/解决方法可以使此查询正常工作 DECLARE @MLSIdList varchar(max), @SortBy varchar(max), @LowRow int, @HighRow int SET @MLSIdList = '12-632393,

当我尝试参数化列名时,我通过以下查询得到以下语法错误
在“@SortBy”附近的语法不正确。

我能够使用动态SQL使其工作,但问题是
实体框架
无法使用exec为
SP创建复杂类型

除了动态SQL之外,是否有其他方法/解决方法可以使此查询正常工作

DECLARE
        @MLSIdList varchar(max),
    @SortBy varchar(max),
    @LowRow int,
    @HighRow int

SET @MLSIdList = '12-632393,12-73464,12-39834,12-78237'
SET @SortBy = 'ORDER BY a.mlsnum, a.yb, a.RatePlugMID  '
SET @LowRow = 11
SET @HighRow = 23


SELECT a.mlsId , a.ADDRESS, a.APN , a.RatePlugMID,a.hod , a.yb , a.UNUM ,
       a.CHANGETYPE , a.CITY , a.County,  ROW_NUMBER() OVER ( @SortBy ) AS RowNumber,
FROM mls_unified_svo_tbl a (nolock) 
WHERE a.MLSNUM IN ( @MLSIdList ) 

不是你想动态传递你的
OVER
子句的
ORDER BY
。我想传递OVER caluse的ORDER BY作为参数“@SortBy varchar(max)change为@SortBy Nvarchar(max)”