【问题标题】:LINQ to SQL auto-generated type for stored procedureLINQ to SQL 为存储过程自动生成的类型
【发布时间】:2010-06-08 13:13:09
【问题描述】:

我有以下存储过程

ALTER PROCEDURE [dbo].Test
AS
BEGIN
    CREATE TABLE ##table
    (
        ID1 int,
        ID2 int
    )

    DECLARE @query varchar(MAX);

    INSERT INTO ##table VALUES(1, 1);

    SELECT * FROM ##table;
END

我尝试从 C# 代码中使用它。我使用 LINQ to SQL 作为 O/RM。当我将该过程添加到 DataBaseContext 时,它说它无法确定该过程的返回值。如何修改存储过程以便我可以将它与 LINQ to SQL 一起使用。

注意:我需要全局模板表

【问题讨论】:

    标签: c# sql-server-2005 linq-to-sql stored-procedures


    【解决方案1】:

    对于 MSSQL,在 proc 的开头使用 SET FMTONLY OFF;。告诉 SQL 运行存储过程不要做出假设,这是我学会在使用临时表时使 LINQ 工作的唯一方法。

    【讨论】:

    • 好的,你的答案是金!对我来说就像一个魅力:-)
    【解决方案2】:

    尝试识别您选择的列。

    SELECT ID1, ID2 FROM ##table;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多