Опитвам се да използвам BizTalk адаптер (SQL или WCF-SQL), за да създам многостепенна йерархична схема. Моето запитване е такова
SELECT
CustomerQueueMessage.customer_queue_ID AS CustomerQueueMsgID,
CustomerMaster.customer_ID AS [CustomerID],
CustomerAddressType.address_type_ID AS [AddressTypeID],
CustomerSalesRep.sales_rep_type_code AS [SalesRepTypeCode]
FROM CustomerQueue AS CustomerQueueMessage
INNER JOIN dbo.MDM_Customer AS CustomerMaster ON (CustomerQueueMessage.customer_queue_ID = CustomerMaster.customer_queue_ID)
INNER JOIN dbo.MDM_CustomerAddressType AS CustomerAddressType ON (CustomerAddressType.customer_queue_ID = CustomerMaster.customer_queue_ID)
INNER JOIN dbo.MDM_CustomerSalesRep AS CustomerSalesRep ON (CustomerSalesRep.customer_queue_ID = CustomerMaster.customer_queue_ID)
FOR XML AUTO, TYPE, ELEMENTS, XMLDATA
Когато генерирам схемата с помощта на SQL адаптер, получавам тази структура
това, което искам е
Таблица CustomerSalesRep е под CustomerAddressType. Искам CustomerSalesRep да бъде на същото ниво с CustomerAddressType, и двете непосредствено под CustomerMaster.
Ако премахна израза FOR XML и използвам WCF-SQL адаптер за генериране на схемата, не получавам йерархия, всички колони са на едно и също ниво.
Някакви идеи? За предпочитане бих искал да го направя с помощта на WCF-SQL адаптер, но също така SQL би бил ОК.