C# 在数据表TVP中传递sysname
我有一个使用以下类型作为参数的存储过程C# 在数据表TVP中传递sysname,c#,.net,sql-server,C#,.net,Sql Server,我有一个使用以下类型作为参数的存储过程 CREATE TYPE [dbo].[columnOrderTableType] AS TABLE ([id] [int] IDENTITY(1,1) NOT NULL ,[columnName] [sysname] NOT NULL 我需要将一个数据表作为TVP从api传递到此存储过程 当我使用字符串作为colum
CREATE TYPE [dbo].[columnOrderTableType] AS TABLE
([id] [int] IDENTITY(1,1) NOT NULL
,[columnName] [sysname] NOT NULL
我需要将一个数据表作为TVP从api传递到此存储过程
当我使用字符串作为columnName的值时,我得到一个错误,表示类型与columnOrderTableType所需的类型不匹配
如何在datatable中传递系统名?尝试将数据转换为nvarchar(128)并改用nvarchar
为什么不将TVP更改为使用
nvarchar
?仅仅因为系统元数据使用了sysname
,并不意味着这样做是一个好主意。