(членство в ASP.NET) Как добавить новое свойство в aspnet_Profile?

Поэтому мне нужно добавить два новых свойства в объект Profile для членства в asp.net.

Я добавил эти два элемента в тег свойств в web.config.

<group name="Terms">
  <add name="Promotions" type="Bool" serializeAs="String" />
  <add name="AcceptedTerms" type="Bool" serializeAs="string" />
</group>

В моем коде я могу сделать Profile.Terms.Promotions и вызвать Profile.Save() без исключений.

Однако таблица aspnet_Profile, похоже, не имеет обновленных свойств.

Нужно ли мне запускать что-то в реальной базе данных, например, какой-то сценарий обновления?

Заранее спасибо!

Редактировать Джек:

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


person Jack Marchetti    schedule 25.09.2009    source источник


Ответы (2)


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

person Quintin Robinson    schedule 25.09.2009

Таблица aspnet_Profile сериализует все как BLOB — новые столбцы не добавляются. Он делает это, потому что это означает, что БД не нужно менять свою схему.

Конечно, вы можете легко изменить это поведение — вот одна такая статья описание того, как это сделать.

person RichardOD    schedule 25.09.2009
comment
Это то, что я понял, но когда я физически обновил новые свойства профиля и сохранил их, данные не записывались. - person Jack Marchetti; 25.09.2009
comment
Под этим я подразумеваю страницу, которую я назвал Profile.Terms.Promotions = true; Профиль.Сохранить(); Вернулся, и это все еще было ложным - person Jack Marchetti; 25.09.2009