2012-02-17 19 views
1

以前は、デフォルトのasp.net構成を使用して、テーブルと関連コードを自動的に追加しました。その後、カスタムプロファイルプロバイダなどのニーズに合わせて少し更新します。認証/承認のためのEntity Framework

MVC3とEntity Framework 4を使用しています。また、今回はEF4がすべてのタイプのデータベースと通信するため、MySQLをデータベースとして使用しています。それから、いくつかの問題があります。

  1. asp.net設定では、web.configに別の接続文字列エントリが作成され、それを使用します。既存のEDMXモデルを使用することは可能でしょうか?

  2. ストアドプロシージャをMySQLデータベースに書き込むことは不可能なので、ストアドプロシージャを使用せずにメンバーシップ/プロファイルプロバイダを設計したサンプルコードはありますか?

ありがとうございます。


は、[更新 - マチュー・ルブランに応じて]

私の現在のプロジェクトは、すでに会員を含む既存のMySQLデータベースを使用することです役割と情報をプロファイル。したがって、新しいテーブルをデータベースに作成するのに、Aspnet_regsql.exeを使用しないでください。既存のデータベース構造を使用してこれらのプロバイダを設計するにはどうすればよいですか?

私はまだこれまでのところ良い解決策は考えていません。どんな提案も大歓迎です。

答えて

0

実際には、認証テーブルと通常のEF4データベースを保持するために単一のデータベースを使用できます。単一の接続を持っているあなたは、あなたのweb.configファイルを変更することができ

:あなたはコマンドラインツールAspnet_regsql.exeを持つすべてのASP.Netの認証テーブル(http://msdn.microsoft.com/en-us/library/ms229862.aspxここでは詳細)を作成するスクリプトを生成することができます

あなたの単一のデータベースを指し示す文字列ですが、それぞれが名前と目的を持つ2行を保持し、それらが同じデータベースを指し示すようにすることをお勧めします。

それはつもりASP.Netの認証データベースを使用してMySQLに対処する方法についてのご質問について

<configuration> 
    <connectionStrings> 
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS2008;Integrated Security=SSPI;initial catalog=MyDatabase" providerName="System.Data.SqlClient" /> 
    <add name="MyEntities" connectionString="data source=.\SQLEXPRESS2008;Integrated Security=SSPI;initial catalog=MyDatabase" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
... 

のように見えます、ストアドプロシージャに関しては、私はこれがどのように動作するか(および場合)見当がつかない。

+0

返信いただきありがとうございます。しかし、提案されたソリューションにはいくつかの制限があります。 MySQLデータベースのテーブルには、すでにユーザーとロールとプロファイル情報があります。新しいテーブルを作成する代わりに、既存のテーブルを使用するプロバイダを構築するにはどうすればよいですか? 私は質問を更新しました。 – Blaise

+0

私はあなたの質問を逆さまに理解したのでしょうか?あなたはすでにメンバーシップデータベースを持っています。それは動作しますか? –

+0

メンバーシップデータベースはMySQLです。私はそのテーブルに格納されているユーザーデータを使用しようとしています。 – Blaise