Как бы вы создали пользовательскую базу данных с asp.net mvc - PullRequest
4 голосов
/ 29 июня 2009

Я новичок в asp.net mvc, поэтому, пожалуйста, будьте точны.

Вот моя цель:

Я хочу создать простой веб-сайт, где пользователи могут:

  1. Зарегистрируйтесь и войдите в систему
  2. Введите там контактные данные (телефон, адрес и т. Д.)
  3. Посмотреть там контактные данные
  4. Редактировать детали # 3.

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

мои вопросы таковы, что я просматривал образец mvc asp.net по умолчанию, который появляется при создании нового приложения mvc asp.net.

Я пытаюсь выяснить, следует ли мне хранить все контактные данные в базе данных aspnetdb.mdf в существующей таблице или мне следует создавать новые таблицы.

похоже, что я могу расширить aspnet_Users или aspnet_membership.

пожалуйста, дайте мне знать, можно ли расширить эти таблицы для хранения дополнительных полей или безопаснее просто создать новую таблицу в этой базе данных.

Ответы [ 3 ]

3 голосов
/ 29 июня 2009

Вы можете использовать провайдер профиля Asp.net для хранения информации. Перейдите по ссылке для получения инструкций по использованию встроенного SqlProfileProvider. По умолчанию SqlProfileProvider создает таблицы в файле aspnetdb.mdf, поэтому вы можете хранить все в одном месте. Вы можете получить доступ к профилю провайдера как свойство в HttpContext.

Изменить: Лучшая ссылка для Информация профиля ASP.Net

Используя поставщика профилей, вам не нужно беспокоиться о вызовах в базу данных или идентификации текущего пользователя. Это все сделано от вашего имени. Дважды проверьте документацию, потому что следующее может быть немного не так.

Вы добавляете нужные поля в ваш файл web.config внутри <system.web>. В вашем случае это была бы необходимая контактная информация.

<profile>
  <properties>
    <add name="Address" />
    <add name="City" />
    <add name="State" />
    <plus other fields ... />
  </properties>
</profile>

Затем вы можете получить доступ к HttpContext.Profile.Address и т. Д., И поставщик позаботится о том, чтобы связать все с текущим пользователем.

Добавление и редактирование информации означает отображение формы. Просмотр сведений - это просто отображение всех полей, которые вы сохранили из предыдущего сообщения формы.

Обучающее руководство по NerdDinner и стоит проверить, если вы совсем новичок в MVC.

0 голосов
/ 29 июня 2009

Этот вопрос стал причиной небольшого внутреннего спора для меня. Я вижу логику в расширении существующего провайдера членства для хранения необходимой дополнительной информации, однако я бы использовал базу данных aspnetdb для хранения этой информации только в том случае, если это был выбран путь, поскольку цель этой базы данных, на мой взгляд, состоит в хранить информацию, отправленную ASP.NET через членский API

Если вы решили не расширять существующего поставщика членства asp.net, я бы предложил создать другую базу данных или, по крайней мере, несколько новых таблиц, чтобы данные, которыми вы управляете, были отделены от любых других данных, управляемых ASP. NET

0 голосов
/ 29 июня 2009

Вы также можете взглянуть на мастер публикации SQL Server, найденный здесь .

По существу, это позволяет вам копировать структуру базы данных и / или данные в файл .sql, который затем можно импортировать в основную базу данных SQL.

Мне не особо нравится подход aspnetdb, но это мое личное мнение.

...