В настоящее время я обращаюсь к атрибуту пути медиа-узла (для того, чтобы проиндексировать его предка для поиска по полному индексу PDF, но это не обязательно знать по этому вопросу), и я очень удивлен, обнаружив, что не все предкифактически перечислены в списке всех предков, разделенных запятыми!
Например, если у меня есть медиа-дерево, подобное следующему:
-Media Group 1 (id: 123)
-Media Group 2 (id: 1023)
- some-other-pdf.pdf (id: 1334)
Я ожидаю, что путь для some-pdf.pdf будет {-1, 234, 123}, а some-other-pdf.pdf будет {-1, 1023, 1234} но я обнаружил, что на удивление часто бабушек и дедушек нет!Например, some-pdf.pdf будет {-1, 234}, а some-other-pdf.pdf - {-1, 1234}.
Это особенно проблематично, потому что мне нужно знать, что такое MediaГруппа как клиент требует, чтобы поиск мог быть отфильтрован по группе (имеется в виду папка уровня 1 для каждого PDF-файла в meda).
Это связано с моей установкой по какой-то причине или это действительно так, что я могуне полагаетесь на «путь», чтобы точно содержать всех предков, в частности, предков первого уровня?
Заранее спасибо,
Тед
ОБНОВЛЕНИЕ:
Возможно, контекст имеет большее значение, чем я думал: кажется, что хотя полный путь предка действительно находится в базе данных (как и ожидалось), по какой-то причине он недоступен в контексте, в котором я нуждаюсь:
private void Indexer_GatheringNodeData(object sender, IndexingNodeDataEventArgs e)
{
//Log.Add(LogTypes.Debug, 0, "PDFIndexer node indexed.");
var node = e.Node;
if (node.HasAttributes)
{
var path = node.Attribute("path").Value;
...
По какой-то причине атрибут пути в этой точке (только иногда) является неполным, как описано выше.