我正在尝试复制一个在MSDN上找到的示例。我使用的是ASP.NET和EF4.1 (CTP?)。我已经使用NuGet安装了EntityFramework包。
我得到了这个错误:The provider did not return a ProviderManifestToken string
...并且数据库永远不会被创建。
下面是我的连接字符串:
<add name="HospitalContext"
connectionString=
"data source=.\SQLExpress;initial catalog=NewTestDB;integrated security=True;"
providerName="System.Data.SqlClient"/>
下面是我的代码:
var pat = new Patient { Name = "Shane123132524356436435234" };
db.Patients.Add(pat);
var labResult = new LabResult { Result = "bad", Patient = pat };
int recordAffected = db.SaveChanges();
以下是我的上下文:
public class HospitalContext : DbContext
{
static HospitalContext()
{
Database.SetInitializer(new HostpitalContextInitializer());
}
public DbSet<Patient> Patients { get; set; }
public DbSet<LabResult> LabResults { get; set; }
}
public class HostpitalContextInitializer :
DropCreateDatabaseIfModelChanges<HospitalContext>
{
protected override void Seed(HospitalContext context)
{
context.Patients.Add(new Patient { Name = "Fred Peters" });
context.Patients.Add(new Patient { Name = "John Smith" });
context.Patients.Add(new Patient { Name = "Karen Fredricks" });
}
}
这是一个完全打了补丁的SQL2008系统,带有VS2010 SP1。
发布于 2011-08-26 02:37:38
我得到了这个错误,并尝试了一些早期的建议。然后,我检查了内部异常,注意到用户出现了一个简单的SQL登录失败。只有一些其他的东西需要检查。
发布于 2011-09-06 07:30:12
当您将连接字符串放在Visual Studio中错误项目的app.config中时,有时会发生这种情况。
例如,我在EF 4.1 (发布版本)项目+ WCF数据服务项目中遇到了这个问题,我注意到我没有在使用它的数据服务项目中指定的连接字符串。
发布于 2011-03-30 21:27:28
我也有同样的问题,我在我的上下文实例之后添加了下面的代码(onload by exemple)
context.Database.Connection.ConnectionString = @"Data Source=.\SQLExpress;Initial Catalog=Test;Integrated Security=True";
https://stackoverflow.com/questions/5423278
复制相似问题