Я использую последние ASP.NET MVC, Identity и Entity Framework.Использовать 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()
):
- баз данные создан
- я получаю
InvalidOperationException: UserId not found
для линииresult = userManager.SetLockoutEnabled(user.Id, false);
Я думал, что это будет так же просто, как изменение строки соединения - так что я делаю не так? Или по-другому, Как преобразовать решение из SQL Server Express в SQL Server Compact?
Я слежу за вашими инструкциями, и все работает правильно. –