我在sql server 2008中创建了一个存储过程,它使我对表进行了更改。我正在使用Linq to SQL在C#中使用此表。 我的存储过程是在c#中使用linq执行存储过程#
CREATE PROCEDURE dbo.getlog
-- Add the parameters for the stored procedure here
@p1 int = 0,
@p2 int = 0
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @from_lsn binary(10), @to_lsn binary(10)
SET @from_lsn =
sys.fn_cdc_get_min_lsn('dbo_User_Info')
SET @to_lsn = sys.fn_cdc_get_max_lsn()
SELECT ID_number, Name, Age FROM cdc.fn_cdc_get_all_changes_dbo_User_Info
(@from_lsn, @to_lsn, N'all');
END
GO
上述过程在sql server中运行良好。然而,当我在C#中运行使用LINQ这一说法
mytestDataContext obj = new mytestDataContext();
var test=obj.ExecuteCommand("dbo.getlog");
foreach(var abc in test)
{}
我得到这个错误
错误1 foreach语句不能对类型“诠释” 的变量操作,因为“诠释”不包含公共定义 '的GetEnumerator'