问题描述
我有这个存储过程:
CREATE PROCEDURE [RSLinxMonitoring].[InsertFeatures]
@Features nvarchar(50),
@TotalLicenses int,
@LicensesUsed int,
@ServerName nvarchar(50)
AS
SET NOCOUNT ON
INSERT INTO [RSLinxMonitoring].[FeatureServer]
([Features]
,[TotalLicenses]
,[LicensesUsed]
,[Server])
VALUES(@Features
,@TotalLicenses
,@LicensesUsed
,@ServerName)
它按预期工作,但由于我需要从我的 C# Linq-to-SQL 类中插入退出,我想从我的应用程序中插入一个列表,这可能吗?
It works as expected, but since I need to insert quit a bit from my C# Linq-to-SQL class, I would like to insert a list from my application instead, is this possible?
我已经看到它是在使用 SELECT 语句时完成的,但在使用 INSERT 时没有.
更新:由于 LINQ to SQL 不支持用户定义的表类型,因此我不能创建表.:(
I have seen it been done then using SELECT statement, but not when using INSERT.
UPDATE:
Since LINQ to SQL Doesn't support User-Defined Table Types i can't Tables. :(
推荐答案
如果您使用的是 SQL Server 2008 &以上,您可以使用以下解决方案.声明表类型,如:
If you are using SQL server 2008 & above, you can use below solution. Declare Table type like :
CREATE TYPE FeatureServerType AS TABLE ( [Features] nvarchar(50) ,[TotalLicenses] int ,[LicensesUsed] int ,[Server] nvarchar(50) );
像这样使用:
CREATE PROCEDURE [RSLinxMonitoring].[InsertFeatures]
@TabletypeFeatures FeatureServerType READONLY
AS
SET NOCOUNT ON;
INSERT INTO [RSLinxMonitoring].[FeatureServer]
([Features]
,[TotalLicenses]
,[LicensesUsed]
,[Server])
SELECT * FROM @TabletypeFeatures
用戸110