標準のASP.NETMVC4アプリケーションがあり、EFコードファーストを使用してDALを構築しています。現在、20〜30のモデルがあり、ユーザーとロールを統合したいと思っています。私はこれを1トン研究しましたが、それでも機能させることができないようです。これが私が今持っているものです:
私のデータベース初期化クラス(モデルを変更するたびに呼び出されます)で、大量のデータをシードしてから、次のように呼び出します。
public class DbInit : DropCreateDatabaseIfModelChanges<TrackerContext>
{
protected override void Seed(TrackerContext context)
{
...seed stuff and save it...
WebSecurity.InitializeDatabaseConnection("TrackerContext", "User", "Id", "UserName", autoCreateTables: true);
}
}
デバッグにより、エラーはスローされず、このコード行にヒットしていることを確認できます。私のユーザーモデルは次のようになります。
public class User
{
public int Id { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public PasswordQuestion PasswordQuestion{ get; set; }
public string PasswordAnswer { get; set; }
public string Type { get; set; }
}
私が読んだすべてのことから、これを機能させるために必要なことはこれだけだと思いましたが、2つの問題があります。
メンバーシップテーブルはロードされていません
WebMatrix.WebData dllを参照しているのに、Configがエラーをスローしているようです
設定セクションは次のとおりです。
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
<providers>
<clear/>
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
</providers>
</roleManager>
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear/>
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
</providers>
</membership>
ここで何が欠けていますか?