存储过程中的执行方法的LINQ to SQL返回类型

时间:2010-10-26 16:24:09

标签: linq tsql linq-to-sql stored-procedures

我有一个存储过程,它构建一个动态的where子句并执行SQL语句。它看起来与此相似:

declare @customerId int
declare @sql varchar(100)

set @customerId = 12
set @sql = Replace('select customerName from customer where customerId = @customerId', '@customerId', @customerId)

exec @sql

我知道上面没有表现出很好的表现,因为你永远不会做到这一点,但希望你明白这一点。

基本上,我想在LINQ to SQL中获取TSQL的输出。如果没有将整个方法移动到数据库的源和关闭,有没有办法我仍然可以运行“内联SQL语句”并将其强制为特定格式(意思是columnA,columnB等)作为结果类型?

这是在旧应用程序中实现功能的黑客工作。此外,我正在使用LINQ to SQL,因为此处可以使用其他sprocs和表访问(旧数据库),并且希望将所有数据访问保留在一个位置。

1 个答案:

答案 0 :(得分:0)

从我所在的电子邮件列表中获取。建议在SQL 2005或2008上,我创建一个表变量,然后使用execute sproc将SQL结果传递给表变量。它有效。