@ Марко Я, конечно, могу понять, что стандартная система членства может содержать больше функций, чем вам нужно, но правда в том, что это действительно не имеет значения.Есть части системы членства, которые вы не собираетесь использовать, точно так же, как есть части .Net, которые вы не собираетесь использовать..Net может сделать множество вещей, которые вы никогда и никогда не будете использовать, но вы не собираетесь проходить через .Net и лишать себя такой функциональности?Конечно, нет.Вы должны сосредоточиться на вещах, которые важны для того, что вы пытаетесь достичь, и работать оттуда.Не попадитесь на паралич анализа.Вы будете тратить свое время, крутить свои колеса и не получите ничего лучшего, чем то, что уже было создано для вас.Теперь Microsoft иногда ошибается, но многие вещи делают правильно.Вам не нужно охватывать все, что они делают для достижения ваших целей - вам просто нужно понять, что важно для ваших нужд.
Что касается Guids и int как первичных ключей, позвольте мне кое-что объяснить.Существует принципиальная разница между первичным ключом и кластеризованным индексом.Вы можете добавить первичный ключ И кластерный индекс для столбцов, которые не являются частью первичного ключа!Это означает, что, если более важно упорядочить данные по имени (или какому-либо другому), вы можете настроить кластерный индекс так, чтобы он точно отражал то, что вам нужно, без его влияния на ваш первичный ключ.Позвольте мне сказать это по-другому - первичный ключ и кластерный индекс НЕ являются одним и тем же.Я написал сообщение в блоге о том, как добавить кластерный индекс, а затем первичный ключ к вашим таблицам.Кластерный индекс физически упорядочит строки таблицы так, как вам нужно, а первичный ключ обеспечит необходимую вам целостность.Взгляните на мой пост в блоге, чтобы узнать, как именно вы можете это сделать.
Вот ссылка - http://iamdotnetcrazy.blogspot.com/2010/09/primary-keys-do-not-or-should-not-equal.html.
Это действительно просто, вы просто добавляете кластерный индекс FIRST, а затем добавляете первичный ключ SECOND.Это должно быть сделано в таком порядке, иначе вы не сможете это сделать.Это предполагает, конечно, что вы используете Sql Server.Большинство людей не понимают этого, потому что SQL Server по умолчанию создаст кластерный индекс для вашего первичного ключа, но все, что вам нужно сделать, это сначала добавить кластерный индекс, а затем добавить первичный ключ, и все будет хорошо.Использование ints в качестве первичного ключа может стать ОЧЕНЬ проблематичным по мере масштабирования вашей базы данных и серверной системы.Я бы предложил использовать Guids и добавить кластеризованный индекс, чтобы отразить то, как вам на самом деле нужны ваши данные.
Итак, в заключение, я просто хочу сказать вам, чтобы вы создали что-то великое и не увязали в поверхностных деталях, которые не дадут вам достаточного прироста производительности, чтобы действительно иметь значение.Жизнь слишком коротка.Кроме того, помните, что ваша система может работать так же быстро, как и ее самый медленный фрагмент кода.Поэтому убедитесь, что вы смотрите на вещи, которые на самом деле занимают много времени, и заботитесь о них.
И еще одна дополнительная вещь.Вы не можете принимать все, что вы видите в Интернете, за чистую монету.Технология меняется со временем.Иногда вы можете просмотреть ответ на вопрос, который кто-то написал давным-давно, который больше не актуален сегодня.Кроме того, люди ответят на вопросы и предоставят вам информацию, не проверив на самом деле то, что они говорят, чтобы увидеть, правда это или нет.Лучшее, что вы можете сделать для своего приложения, - это действительно хорошо его протестировать.Если вы используете ASP.Net MVC, вы можете сделать это в своих тестах.Одна вещь, которую вы можете сделать, это добавить цикл for, который добавит пользователей в ваше приложение в вашем тесте, а затем протестировать его.Это одна идея.Есть и другие способы.Вам просто нужно приложить немного усилий, чтобы хорошо спроектировать свои тесты или, по крайней мере, достаточно хорошо для своих целей.
Удачи вам!