Я новичок в Linq и получаю странные результаты, когда пытаюсь выполнить запрос, используя where.
Пример xml:
<movies>
<movie id="1">
<scenes>
<scene id="1">
<sceneartistsnames>
<sceneartistname>Artist A</sceneartistname>
</sceneartistsnames>
</scene>
<scene id="2">
<sceneartistsnames>
<sceneartistname>Artist B</sceneartistname>
</sceneartistsnames>
</scene>
</scenes>
</movie>
<movie id="10">
<scenes>
<scene id="1">
<sceneartistsnames>
<sceneartistname>Artist B</sceneartistname>
<sceneartistname>Artist A</sceneartistname>
</sceneartistsnames>
</scene>
</scenes>
</movie>
</movies>
Теперь пытаемся выбрать все сцены, в которых участвует Артист А.
Dim Results = From MovieWithArtist In MoviesXML...<scene> _
Where MovieWithArtist.<sceneartistsnames>.<sceneartistname>.Value = "Artist A" _
Select MovieWithArtist
Я получаю только одну сцену, а я ожидал две. (
Теперь, если я изменю вторую сцену в XML на:
<movie id="10">
<scenes>
<scene id="1">
<sceneartistsnames>
<sceneartistname>Artist A</sceneartistname>
<sceneartistname>Artist B</sceneartistname>
</sceneartistsnames>
</scene>
</scenes>
</movie>
Потом я возвращаю две сцены.
Что я делаю не так?
Спасибо всем.