Entity framework 使用ExecuteStoreQuery的变通方法上的行号()隐式结果错误
我正在使用EF4.0在我的脑海中做一个非常基本的查询。我已经确认我的表中引用的所有列都是Int,我们不使用bigint或smallint,所以我排除了这一点。我尝试将类型更改为Int64,然后它抱怨将其转换为Int32。这让我相信问题不是问题类型的场景。EF系统抱怨什么Entity framework 使用ExecuteStoreQuery的变通方法上的行号()隐式结果错误,entity-framework,database-partitioning,row-number,executestorequery,Entity Framework,Database Partitioning,Row Number,Executestorequery,我正在使用EF4.0在我的脑海中做一个非常基本的查询。我已经确认我的表中引用的所有列都是Int,我们不使用bigint或smallint,所以我排除了这一点。我尝试将类型更改为Int64,然后它抱怨将其转换为Int32。这让我相信问题不是问题类型的场景。EF系统抱怨什么 public class clsResult { public Int32 PkId { get; set; } public Int32 FkId { get; set; } public Int32
public class clsResult
{
public Int32 PkId { get; set; }
public Int32 FkId { get; set; }
public Int32 Threshold { get; set; }
}
var qry = db.ExecuteStoreQuery<clsResult>(@"SELECT PkId, FkId, Threshold
FROM (SELECT ROW_NUMBER() OVER (PARTITION BY FkId ORDER BY PkId ASC) AS Threshold, *
FROM ClientTrans
) AS T1
WHERE (Threshold <= 3)
AND (ClientID IN ( SELECT Id
FROM ClientProfile
WHERE (p.Login LIKE 'WEBS%')))
AND (DateRpt >= @STARTDATE)
AND (DateRpt <= @ENDDATE)", SqlParams).ToList();
产生的错误:
从物化的“System.Int64”类型到“System.Int32”类型的指定强制转换无效。根据,行号的返回类型为bigint
因此,您应该只更改阈值的类型