смотреть, как реализовать первичный ключ в XML-схеме с функцией автоинкремента - PullRequest
0 голосов
/ 10 августа 2009

В начале я написал класс C #. Затем я создал схему для класса с помощью инструмента «xsd.exe». Я разместил эту схему в коллекции схем моей базы данных и создал новый столбец xml:

СОЗДАТЬ СБОР СХЕМЫ XML AppointmentSC AS «невозможно вставить схему здесь, на форуме» GO

ALTER TABLE Adresse ADD xmlAppointment XML (AppointmentSC); GO

Теперь я могу сериализовать / десериализовать объект моего класса в / из моей базы данных. На следующем шаге я хочу сохранить в базе данных более одного объекта моего класса. Я мог бы создать коллекцию для своего класса, но я также хочу добавлять новые объекты только с помощью sql. Я думаю, что мне нужен идентификатор автоинкремента или первичный ключ или что-то в этом роде. Каждая попытка создать уникальный идентификатор в моей схеме была безнадежной.

Я использую Visual Studio 2008 и SQL Server 2008

С наилучшими пожеланиями Раймунд

1 Ответ

0 голосов
/ 23 августа 2009

Я думаю, что вы могли перепутать XML-схему для схемы базы данных. Хотя оба имеют одинаковую работу, они работают в совершенно разных и не связанных друг с другом мирах. База данных имеет первичные ключи, и, по логике, должна быть схема базы данных. Разметка не имеет первичных ключей и имеет только перечисления в качестве метаданных, поэтому не существует соглашения, которое вы ищете на языке XML-схемы.

Похоже, вы пытаетесь экспортировать базу данных в экземпляр XML, для которого пытаетесь написать схему. Если это так, то вы должны принять, что разметка выполняет совершенно другую и не связанную функцию, чем таблица базы данных. Под структурой базы данных подразумеваются метаданные, связанные с метками столбцов, наследование от других таблиц и т. Д. В схеме для разметки структура явно указывается с использованием метаданных, которые выводят описательную структуру на биты данных / контента, где эти метаданные могут описывать или не описывать данные напрямую.

Проблема здесь не техническая. Вам просто нужно попрактиковаться в написании вручную на языке XML-схемы и создании экземпляров документов из этой схемы, чтобы понять различия, преимущества и недостатки схемы разметки по сравнению со схемой базы данных.

...