小さなウェブアプリを作りたいです。カスタムメンバーシッププロバイダーを作成する方法についていくつかの記事を読みましたが、何かがはっきりしていません。カスタムDBを作成したり、このDBをエンティティフレームワークにマップしたりできますか、またはaspnetsql_tool.exe(正確ではありません)を使用する必要がありますか?DBにはユーザーとのテーブルがあり、他のテーブルとの関係にあります。それで、あなたは私に何を勧めますか?カスタムプロバイダーでEFを使用するのは良いアプローチですか?ありがとう
2 に答える
カスタムDBを作成し、それをEFでマップできます。データベーステーブルを生成するツールを使用する必要はありません。
このウォークスルーを実行します:カスタムメンバーシッププロバイダー
ODBCコードを削除し、そこにEFコードを配置する必要があります。これで、ほとんどの処理が実行されます。
コンテキストが返すデータを注意深く監視する必要があります。グローバルコンテキストの場合、データが古くなる可能性があります。
EFコンテキストのインスタンス化(リンクを確認しただけで、もう機能していないようですが、戻ってきた場合に備えて、ここに残しておきます)
私を助けたいくつかのリンク:
また、これが役立つ場合があります。
http://efmembership.codeplex.com/
https://github.com/OmidID/Ado.net-Entity-Framework-Membership-Provider
カスタムメンバーシッププロバイダーは、任意のメカニズムとDB構造を使用できるため、ここではEntityFrameworkが他のORMフレームワークと同じように適切です。を選択aspnet_regsql.exe
すると、DB構造がセットアップされますが、この構造を簡単に変更することはできません。EFを使用してこのデータベースをマッピングすることは、ASP.NETの将来のバージョンで変更される可能性があるため、お勧めできません。
つまり、カスタムによって作成されたデフォルトのメンバーシップDB構造を選択するかaspnet_regsql.exe
、既存のテーブルを使用してカスタムプロバイダーを自分で実装するかのどちらかです。