我正在使用最新的ASP.NET MVC,身份和實體框架。使用SQL Server Compact與ASP.NET身份
sample Identity project使用Sql Server Express。我想使用Sql Server Compact。
我所做的:
創建一個新的空白溶液(不MVC模板)
安裝示例項目:
Install-Package Microsoft.AspNet.Identity.Samples -Pre
安裝:
Install-Package Microsoft.SqlServer.Compact
安裝:
Install-Package EntityFramework.SqlServerCompact
更改默認連接字符串中
web.config
到:<add name="Foo" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|\Foo.sdf;" />
更改
ApplicationDbContext
使用Foo
連接字符串:ApplicationDbContext() : base("name=Foo", false)
問題是,當ApplicationDbContext
被首次訪問(在播種期間,在ApplicationDbInitializer.InitializeIdentityForEF()
方法中):
- 數據庫中創建
- 我得到的線
result = userManager.SetLockoutEnabled(user.Id, false);
我認爲這將是在更換連接字符串作爲簡單的InvalidOperationException: UserId not found
- 所以我在做什麼錯?或換句話說,如何將解決方案從SQL Server Express轉換爲SQL Server Compact?
我按照你的指示,一切正常。 – 2014-09-06 22:23:27