相关疑难解决方法(0)

是否可以使用`SqlDbType.Structured`在NHibernate中传递表值参数?

我想将一组id传递给将使用NHibernate映射的存储过程.这种技术是在Sql Server 2008中引入的(更多信息在这里=> 表值参数).我只是不想在nvarchar参数中传递多个ID ,然后在SQL Server端切断它的值.

sql-server nhibernate table-valued-parameters

16
推荐指数
1
解决办法
8676
查看次数

如何通过ADO.NET/C#将数组/表参数用于Oracle(ODP.NET 10g)?

这个答案对这个问题很好,但是我正在寻找ADO.NET代码能够数组或表发送到Oracle程序,然后使用该表的过程.

在SQL Server表值参数中,它非常简单:

CREATE TYPE [dbo].[IntTable] AS TABLE(
    [intvalue] [int] NOT NULL,
    PRIMARY KEY CLUSTERED 
    (
        [intvalue] ASC
    )WITH (IGNORE_DUP_KEY = OFF)
)
GO

CREATE PROCEDURE dbo.UseTable
    @SomeInt INT
    ,@IntTable dbo.IntTable READONLY
AS 
BEGIN
    -- Do whatever using @SomeInt and @IntTable like:
    INSERT INTO Assignments (masterid, childid)
    SELECT @SomeInt, intvalue
    FROM @IntTable
END
GO
Run Code Online (Sandbox Code Playgroud)

然后在客户端:

var param = new List<int>();
param.Add(1);
param.Add(2);

Cm.Parameters
    .AddWithValue("@IntTable", param /* IEnumerable<Int> */)
    .SqlDbType = SqlDbType.Structured
Run Code Online (Sandbox Code Playgroud)

这就是我目前拥有的:

CREATE OR REPLACE TYPE TRAIT_ID_TABLE …
Run Code Online (Sandbox Code Playgroud)

c# oracle parameters ado.net oracle10g

9
推荐指数
1
解决办法
2万
查看次数