Как я устанавливаю Поставщика Членства в своей существующей базе данных с помощью ASP.NET MVC?

При использовании вложенных наборов (иногда называемый Измененным Обходом дерева Предзаказа), можно извлечь всю древовидную структуру или любое поддерево в ней в древовидном порядке с единым запросом, за счет вставок, являющихся более дорогим, поскольку необходимо управлять столбцами, которые описывают чтобы путь через тебя древовидная структура.

Для [1 117] django-mptt, я использовал структуру как это:

id  parent_id  tree_id  level  lft  rght
--  ---------  -------  -----  ---  ----
 1       null        1      0    1    14
 2          1        1      1    2     7
 3          2        1      2    3     4
 4          2        1      2    5     6
 5          1        1      1    8    13
 6          5        1      2    9    10
 7          5        1      2    11   12

, Который описывает дерево, которое похоже на это (с id представление каждого объекта):

 1
 +-- 2
 |   +-- 3
 |   +-- 4
 |
 +-- 5
     +-- 6
     +-- 7

Или, как вложенная схема набора, которая делает его более очевидным, как lft и rght значения работают:

 __________________________________________________________________________
|  Root 1                                                                  |
|   ________________________________    ________________________________   |
|  |  Child 1.1                     |  |  Child 1.2                     |  |
|  |   ___________    ___________   |  |   ___________    ___________   |  |
|  |  |  C 1.1.1  |  |  C 1.1.2  |  |  |  |  C 1.2.1  |  |  C 1.2.2  |  |  |
1  2  3___________4  5___________6  7  8  9___________10 11__________12 13 14
|  |________________________________|  |________________________________|  |
|__________________________________________________________________________|

, Как Вы видите, для получения всего поддерева для данного узла, в древовидном порядке, просто необходимо выбрать все строки, которые имеют lft и rght значения между lft и rght значения. Также просто получить дерево предков для данного узла.

level столбец является небольшим количеством денормализации для удобства больше, чем что-нибудь и tree_id, столбец позволяет Вам перезапускать lft и rght нумерация для каждого узла верхнего уровня, который сокращает количество столбцов, затронутых вставками, перемещениями и удалениями, как lft и rght, столбцы должны быть скорректированы соответственно, когда эти операции происходят, чтобы создать или преодолеть разрывы. Я сделал [приблизительно 1 118] примечания разработки в то время, когда я пытался обернуть голову вокруг запросов, требуемых для каждой операции.

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

[еще 1133] информация о MPTT:

28
задан 13 July 2009 в 20:06
поделиться

2 ответа

посмотрите мой ответ в этом посте;

членство

Если вы хотите сохранить поставщика членства, который создает для вас .Net, вы можете скопировать все таблицы и т. Д. На другой sql базу данных и укажите ее провайдеру через файл конфигурации.

Напишите комментарий, если вам нужно больше.

1
ответ дан 28 November 2019 в 03:52
поделиться

Ознакомьтесь с этим пошаговым блогом о том, как настроить поставщика членства в вашем asp. Проект .net mvc. Инструмент sdk, который вам нужен для подготовки вашей базы данных, - это aspnet_regsql.exe, вам не нужно создавать отдельную базу данных для этого (многие люди думают, что им нужно предоставить отдельный aspnet.db), вы можете запустить команду в вашей существующей базе данных, и он создаст таблицы, представления, собственный проект? Что мне нужно, чтобы получить существующая база данных готова, если да? Если не, как мне узнать, что мне нужно делать с реализовать поставщика членства?

Преимущество использования поставщика по умолчанию (поставщик SqlMembership) заключается в экономии времени. Для создания полного поставщика членства и ролей требуется много работы.

Править [2014-06-19] Asp.Net Identity Framework - это новая рекомендация Microsoft по управлению разрешениями пользователей на песок.

19
ответ дан 28 November 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: