我在尝试将数据写入数据库时遇到错误。
我正在使用sqlservercompact 4.0并从nuget包安装了entityframework.sqlservercompact。
这是我安装的参考资料
编辑:根据答案,我更改了提供商名称,但收到Unable to find the requested .Net Framework Data Provider. It may not be installed.
public class PortalContext : DbContext
{
public PortalContext() : base("AdminPortal")
{
}
public DbSet<RegisterModel> Users { get; set; }
}
我的数据库名称为AdminPortal
,表名为Users
,而我在web.config中有
<connectionStrings>
<add name="AdminPortal" connectionString="Data Source=C:\Users\Biplov\documents\visual studio 2012\Projects\BootstrappingMvc\BootstrappingMvc\App_Data\AdminPortal.sdf" providerName="System.Data.SqlServerCe" />
</connectionStrings>
在控制器中我有
[HttpPost]
public ActionResult Register(RegisterModel user)
{
if (ModelState.IsValid )
{
var regUser = _db.Users.Create();//error at this line
regUser.UserName = user.UserName;
regUser.Password = user.Password;
_db.Users.Add(regUser);
_db.SaveChanges();
}
return RedirectToAction("Index");
}
答案 0 :(得分:0)
SQL Server Compact不使用System.Data.SqlClient
提供程序用于嵌入式数据库,它使用System.Data.SqlServerCe
不是吗?