EntityFramework / MVC4/DatabaseFirstプロジェクトでsimplemembershipシナリオを機能させるのに苦労しています。最初にコードを操作するための例をたくさん見つけましたが、DBを最初に使用する例はありません。
私が遭遇している問題は、InitializeDatabaseConnectionがエラーをスローしていることです(「要求された.Net Frameworkデータプロバイダーが見つかりません。インストールされていない可能性があります。」)コードは次のようになります。
WebSecurity.InitializeDatabaseConnection("DALEntities", "tblContacts1", "ContactID", "EMail", autoCreateTables: true);
どのDataProviderが失敗しているかわかりません。InitializeDatabaseConnection呼び出しをトレースしようとすると、すぐにエラーがスローされます。
私は何が欠けていますか?
情報:
DALEntitiesは、残りのEFが使用するconnectionStringの名前です。次のコードは問題なく動作します。
public ActionResult Test() {
using (var db = new DALEntities()) {
var query = from i in db.TBLINVENTORies
orderby i.ITEMNAME
select i;
var cnt = query.Count();
string str = "Total Inventory: " + cnt;
return Content(str);
}
}
web.configの接続文字列セクション:
<connectionStrings>
<add name="DALEntities" connectionString="metadata=res://*/DAL.DAL.csdl|res://*/DAL.DAL.ssdl|res://*/DAL.DAL.msl;provider=System.Data.SqlClient;provider connection string="data source=SOMECOMPUTER;initial catalog=SOMEDB;persist security info=True;user id=SOMEID;password=SOMEPASS;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
この投稿は同じ質問をしているようです(ただし、モデルファーストのコンテキストで)が、まだ解決策はありません:EFモデルファーストでSimpleMembershipを使用する
WebSecurity.InitializeDatabaseConnection()
また、ヘルプテキストで過負荷が発生していることがわかりますInitializes the membership system ((blah blah <snip> ProviderName: the name of the ADO.NET data provider. If you want to use Microsoft SQL Server, the WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection(String, String, String, String, Boolean) overload is recommended
。MSSQLサーバーに接続したいのですが...これは必要ですか?