【问题标题】:Pass a Table Type to a Stored Proc from c#?从 c# 将表类型传递给存储过程?
【发布时间】:2011-03-05 15:06:26
【问题描述】:

我使用 SQL Server 2008 已经有一段时间了,但直到今天,才发现可以创建 Table 类型:

CREATE type MyNewTableType as table {

然后将其传递给 proc。

但是,能否在 .Net 应用程序中使用此功能(C# 是我选择的语言...)?是否可以在我的数据访问层中创建一些东西,然后将其作为参数传递给我的存储过程?

【问题讨论】:

  • 请尝试通过将表格声明为表格变量或 Xml 类型来传递表格。你会发现这行得通。

标签: c# .net sql sql-server


【解决方案1】:

是的,它可以。请参阅MSDN reference 中的配置 SqlParameter 示例部分,它将告诉您执行以下操作:

SqlParameter tvpParam = insertCommand.Parameters.AddWithValue(
    "@tvpNewCategories", addedCategories);
tvpParam.SqlDbType = SqlDbType.Structured;
tvpParam.TypeName = "dbo.CategoryTableType";

MSDN 参考中的两个部分也可能会有所帮助。

【讨论】:

  • @FabioGouw 根据最近的 MSDN 记录,可以是 DataTable、DbDataReader 或 IEnumerable
猜你喜欢
  • 1970-01-01
  • 2020-05-08
  • 2014-09-26
  • 2010-11-02
  • 2017-06-08
  • 2017-10-24
  • 2011-09-15
  • 1970-01-01
相关资源
最近更新 更多