Может быть, я просто избалован SQL, но есть ли какой-нибудь классный способ LINQ для вставки новой записи в «таблицу XML» и автоматического (или, по крайней мере, полуавтоматического) обновления индексированного идентификатора?
Вот что я имею в виду под «XML-таблицей»:
<myElements>
<myElement>
<id>1</id>
<value>blah</value>
</myElement>
<myElement>
<id>3</id>
<value>blah</value>
</myElement>
<myElement>
<id>4</id>
<value>blah</value>
</myElement>
<myElement>
<id>8</id>
<value>blah</value>
</myElement>
<myElement>
<id>9</id>
<value>blah</value>
</myElement>
</myElements>
В этом случае таблица — это «myElements», а записи — это элементы «myElement» (т. е. дочерние элементы myElements).
Элемент «id» определен как ключ в схеме, поэтому он действует более или менее как «первичный ключ», точно так же, как в SQL.
Итак, мой вопрос: как мне вставить новый «myElement», где элемент «value» является «любым», а элемент «id» автоматически устанавливается на следующий доступный идентификатор (в этом примере это будет max (id ) + 1 = 10).
Моя база данных XML хранится в XDocument, поэтому мне нужно решение, использующее LINQ и/или методы XElement.
Спасибо!