Неправильные типы столбцов с SQLXMLBulkLoad - PullRequest
1 голос
/ 15 августа 2010

Я пытаюсь объединить данные XML isnert в SQL Server 2008 Express с помощью объектной модели SQLXMLBulkLoad из C # (Visual Studio 2010).

Моя проблема в том, что я застрял в отношениях.Рассмотрим следующий аннотированный XSD-файл:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                   xmlns:sql="urn:schemas-microsoft-com:mapping-schema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
  <xs:appinfo>
    <sql:relationship name="CompanyEmployeeRel"
                      parent="Company"
                      parent-key="ID"
                      child="Employee"
                      child-key="CompanyID"/>
  </xs:appinfo>
</xs:annotation>
<xs:element name="Employee" sql:key-fields="ID">
  <xs:complexType>
    <xs:attribute name="ID" sql:datatype="uniqueidentifier"/>
    <xs:attribute name="FirstName" sql:datatype="nvarchar(255)" />
    <xs:attribute name="LastName" sql:datatype="nvarchar(255)"/>
  </xs:complexType>
</xs:element>
<xs:element name="Company" sql:key-fields="ID">
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="Employee" sql:relationship="CompanyEmployeeRel"/>
    </xs:sequence>
    <xs:attribute name="ID" sql:datatype="uniqueidentifier"/>
    <xs:attribute name="Name" sql:datatype="nvarchar(100)"/>
  </xs:complexType>
</xs:element>
</xs:schema>

Затем я позволил SQLXMLBulkLoad создать схему БД для меня.Это приводит к следующим двум таблицам:

альтернативный текст http://dl.dropbox.com/u/17384/Bildschirmfoto-3.png

Первичный и внешний ключи правильны как таковые;но моя проблема - подчеркнутые столбцы.Я указал, что столбец ID таблицы Company должен быть уникальным идентификатором, но это nvarchar (40).Также в столбце Name указано nvarchar (40), но я указал, что это должен быть nvarchar (100).

Кто-нибудь знает, почему это происходит?И что я могу сделать против этой проблемы?

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...