1
我有一个包含动态sql的存储过程以返回结果集。查询运行良好,但我无法通过Linq将其用于sql。看来Data Class设计者认为查询只包含一列(位置)而不是正确的数字。c#linq到包含动态sql的存储过程的sql
我猜测它是因为动态SQL意味着列在设计时不可用。查询是这样的:
set @query = 'select ' + char(13) +
'case when a.location is not null then upper(left(a.location, 1)) + right(a.location, len(a.location) - 1) else ''All'' end as Location' + char(13) + @strsql +
'group by ' + char(13) +
'rollup(location)' + char(13)
其中@strsql是包含引用列的其余部分的其余查询字符串。
有谁知道一种方法来克服这个限制(除了不使用动态sql当然)?
感谢
为响应欢呼 - 对不起,它需要一段时间才能回来 - 我的妻子刚刚生产我们的第二个儿子,所以一直有点waylaid ...不幸的是,列数不固定,这就是为什么他的查询是动态的。看起来可能唯一的方法是忘记关于linq并使用sqlclient。 – pilsdumps 2010-09-06 13:45:27
感谢!您的解决方案不适用于OP,但这是我一直在寻找的。 – Otis 2011-03-21 21:29:26