c# - 存储过程的 LINQ to SQL 自动生成类型

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

我有以下存储过程

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 一起使用。

注意:我需要有全局模板表!

最佳答案

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

关于c# - 存储过程的 LINQ to SQL 自动生成类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2997563/

相关文章:

c# - 当属性类型未知时,为通过反射获得的属性评估器创建委托(delegate)

c# - VSTO Outlook 2013 加载项 : is it possible to connect to a RESTful web-api?

sql-server - SQL Server : How to abort a series of batches in Query Analyzer?

c# - 需要检索包含与另一个列表匹配的子项的项目列表

c# - DataContext.Refresh 不刷新对象

c# - 通过使用 linq 按字母顺序分组来计算电影

c# - 存储库模式 EF Core 更新方法

sql - 如何使用 PIVOT 在 Select 查询中动态声明列

sql - 使用 Replace() 进行选择

linq-to-sql - 分配 ID 与对象 - linq 到 sql