Добрый день, приятели! В настоящее время я изучаю этот проект модели базы данных, называемый «Измененный предварительный трассировка дерева заказов» (MPTT). Увидев недостатки использования общих табличных выражений (CTE) из-за низкого качества работы, я нашел рекомендации по использованию MPTT. Но прежде чем я смогу использовать преимущество MPTT, мне нужно переконфигурировать мою таблицу базы данных, добавив значения «right» и «left». Для этого мне нужно создать программу, которая будет автоматизировать и обновлять значения каждого из данных в таблице. Моя проблема в том, что я не могу создать программу, которая будет автоматизировать значения узлов. Я пытаюсь преобразовать язык php в код C#, но я не мог этого сделать. Одна из моих слабостей в программировании - создание «рекурсивных» методов.Автоматизация обхода дерева в C#
Я использую эту ссылку в качестве ссылки. Hierarchical database model
И вот код, который я пытаюсь преобразовать в C#
<?php
function rebuild_tree($parent, $left) {
// the right value of this node is the left value + 1
$right = $left+1;
// get all children of this node
$result = mysql_query('SELECT title FROM tree '.
'WHERE parent="'.$parent.'";');
while ($row = mysql_fetch_array($result)) {
// recursive execution of this function for each
// child of this node
// $right is the current right value, which is
// incremented by the rebuild_tree function
$right = rebuild_tree($row['title'], $right);
}
// we've got the left value, and now that we've processed
// the children of this node we also know the right value
mysql_query('UPDATE tree SET lft='.$left.', rgt='.
$right.' WHERE title="'.$parent.'";');
// return the right value of this node + 1
return $right+1;
}
?>
Какой ваш конкретная проблема? C# и PHP, как правило, очень похожи, и ваш код не является исключением. Преобразование этого кода должно быть довольно простым. – Enigmativity