我想使用我自己的SQL Server數據庫來存儲用戶權限。UserStore與我自己的數據庫
我初始化UserStore與我的背景是這樣的(我試過用默認構造函數也)
UserManagerFactory =() => new UserManager<IdentityUser>(new UserStore<IdentityUser>(new DbEpicerieEntities()));
然後,我創建了一個空數據庫,生成實體數據模型。
然後,我改變web配置我的連接
<connectionStrings>
<add name="DefaultConnection" connectionString="metadata=res://*/Models.EpicerieModel.csdl|res://*/Models.EpicerieModel.ssdl|res://*/Models.EpicerieModel.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost;initial catalog=DbEpicerie;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
但它不工作。如果我嘗試註冊一個用戶,後
IdentityResult result = await UserManager.CreateAsync(user);
它會調用
protected override void Dispose(bool disposing)
{
if (disposing)
{
UserManager.Dispose();
}
base.Dispose(disposing);
}
我嘗試使用與已經取得表的數據庫,但我也有同樣的結果。
我試圖更改DefaultConnection
的連接名稱,但沒有成功。
我試過的建議,對question和我改變DbContext
到IdentityDbContext<IdentityUser>
public partial class DbEpicerieEntities : IdentityDbContext<IdentityUser>
{
public DbEpicerieEntities()
: base("DefaultConnection")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
}
,但我有同樣的問題。
我不知道,如果在web配置中的EntityFramework設置可能是問題
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
任何想法,爲什麼它不工作?
謝謝
對不起,這是我的問題是錯誤的。我做了編輯。謝謝 – Marc