我使用XML列表。
我使用这种存储过程:
CREATE PROCEDURE [dbo].[GetUsersInList] @UserList nvarchar(MAX)ASBEGIN DECLARE @DocHandle int DECLARE @UsersListTable table ( [UserID] bigint ) EXEC sp_xml_preparedocument @DocHandle OUTPUT, @UserList INSERT INTO @UsersListTable ([UserID]) SELECt doc.Value [UserID] FROM OPENXML(@DocHandle, '/List/Item', 1) WITH ([Value] int) doc EXEC sp_xml_removedocument @DocHandle SELECt *, IsNull(cast(TechID as varchar) + ' - ' + DisplayName, DisplayName) [FriendlyName] FROM dbo.[Users] WHERe [ID] IN (SELECt [UserID] FROM @UsersListTable)END
要创建这种列表:
var list = new XElement("List", users.Select(user => new XElement("Item", new XAttribute("Value", user.Id)) ) );


