Блок данных MS Enterprise Library для передачи XML в хранимую процедуру с параметром XML - PullRequest
1 голос
/ 17 декабря 2009

В своих приложениях я обычно использую блок данных библиотеки предприятия, чтобы упростить взаимодействие с базой данных. Код C #, такой как:

public static IDataReader AdminNavigation_Insert(int iGroupId, string sText, string sRelativeUrl, int iSortOrder)
{ 
  return DatabaseFactory.CreateDatabase("database").ExecuteReader(
        "cms_uspAdminNavigation_Insert", 
        iGroupId, 
        sText, 
        sRelativeUrl, 
        iSortOrder);
}

вставит в хранимую процедуру, как:

ALTER PROCEDURE [dbo].[cms_uspAdminNavigation_Insert]
    @GroupId int,
    @Text nvarchar(500) = NULL,
    @RelativeUrl varchar(100) = NULL,
    @SortOrder int
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO dbo.cms_tblAdminNavigation (
    GroupId, Text, RelativeUrl, SortOrder, TsCreated, TsUpdated
) VALUES (
    @GroupId, @Text, @RelativeUrl, @SortOrder, getDate(), getDate()
);
SELECT @@IDENTITY;
END

Теперь, если бы одним из параметров хранимой процедуры был xml, какой тип данных C # я бы использовал для передачи этой хранимой процедуры через Enterprise Library?

1 Ответ

0 голосов
/ 17 декабря 2009

String = SQLDbBtype.xml

См. C # / SQL - Что не так с SqlDbType.Xml в процедурах

Или другой вопрос SO

Редактировать, однако для Linq это может быть System.Xml.Linq.XElement

...