使用带有ASP.NET标识的SQL Server Compact
我正在使用最新的ASP.NET MVC、身份和实体框架 使用Sql Server Express。我想使用Sql Server Compact 我所做的:使用带有ASP.NET标识的SQL Server Compact,asp.net,asp.net-mvc,entity-framework,sql-server-ce,asp.net-identity,Asp.net,Asp.net Mvc,Entity Framework,Sql Server Ce,Asp.net Identity,我正在使用最新的ASP.NET MVC、身份和实体框架 使用Sql Server Express。我想使用Sql Server Compact 我所做的: 创建了一个新的空解决方案(不是MVC模板) 已安装的示例项目:Install Package Microsoft.AspNet.Identity.Samples-Pre 已安装:安装软件包Microsoft.SqlServer.Compact 已安装:Install Package EntityFramework.SqlServerComp
- 创建了一个新的空解决方案(不是MVC模板)
- 已安装的示例项目:
Install Package Microsoft.AspNet.Identity.Samples-Pre
- 已安装:
安装软件包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
时(在种子设定期间,在ApplicationDbInitializer.initializedEntityForef()
方法中):
- 数据库已创建
- 我在
result=userManager.SetLockoutEnabled(user.Id,false)行中得到一个
代码>InvalidOperationException:UserId未找到
我认为这就像更改连接字符串一样简单——那么我做错了什么呢?或者换句话说,如何将解决方案从SQL Server Express转换为SQL Server Compact?发现错误。我的连接字符串错误,我有:
<add name="Foo"
providerName="System.Data.SqlServerCe.4.0"
connectionString="
Data Source=|DataDirectory|\Foo.sdf;
Persist Security Info=false;
"/>
这不起作用(XML,所以认为空白被忽略了,它不起作用),而这起作用:
<add name="Foo"
providerName="System.Data.SqlServerCe.4.0"
connectionString="Data Source=|DataDirectory|\Foo.sdf;Persist Security Info=false;" />
无论如何,问题本身包含一个使用标识为2的sqlce的步骤。也许它会帮助别人。我已经按照你的指示做了,一切正常。
<add name="Foo"
providerName="System.Data.SqlServerCe.4.0"
connectionString="Data Source=|DataDirectory|\Foo.sdf;Persist Security Info=false;" />