1

ようやく CreateWizard と Profile がシステムで動作するようになりましたが、プロファイルのプロパティがそのままデータベースに格納される理由を理解できません。たとえば、プロファイルのプロパティに追加したものはすべて、PropertyNamesandという列に格納されますPropertyValueString

なぜ彼らがこれを行うのか理解できません。propertynamesが に対応していることは理解していpropertyvaluestringsますが、これらがプロファイル テーブルの別の列に入れられないのはなぜですか?

これらの値を1 つの文字列にすべて格納するのではなく、Addressまたはなどの列に格納したい場合、ユーザーを変更した場合に更新をAccountBalance維持するにはどうすればよいですか? PropertyValueStringAccountBalance

また、CreateWizard を使用してユーザーを作成する場合、クエリを手動で実行して追加情報をプロファイル列に挿入する必要がありますか (元のプロファイル テーブルを拡張して、FirstName LastNameなどの列を増やす場合)? 私がここに欠けているものはありますか?また、文字列の xml シリアライゼーションにこれらを使用していると聞きましたが、そうすることの利点は何ですか? ありがとう

4

1 に答える 1

0

そのように保存されるため、データベースに新しい列を追加しなくても、新しいプロパティを簡単に追加できます。データベースに簡単にクエリを実行できないという犠牲を払って、新しいものを非常に簡単に追加できます。

ただし、独自のプロファイル プロバイダーを記述して、この情報を好きな方法で保存できます。または、テーブル プロファイル プロバイダーなどの既存のソリューションを使用します( Asp.net 4 プロジェクトで使用する方法は次のとおりです)。

実際、Google で を検索するとasp.net profile providers、独自のプロバイダーを作成する方法の例が多数あります。やりたいことにマッチするものを選んでください。

于 2011-02-02T04:59:55.350 に答える