Tôi đang cố gắng sao chép một ví dụ được tìm thấy trên MSDN. Tôi đang sử dụng ASP.NET và EF 4.1 (CTP?). Tôi đã sử dụng NuGet để cài đặt gói EntityFramework.
Tôi gặp lỗi này: The provider did not return a ProviderManifestToken string
... và cơ sở dữ liệu chưa bao giờ được tạo.
Đây là chuỗi kết nối của tôi:
<add name="HospitalContext"
connectionString=
"data source=.\SQLExpress;initial catalog=NewTestDB;integrated security=True;"
providerName="System.Data.SqlClient"/>
Đây là mã của tôi:
var pat = new Patient { Name = "Shane123132524356436435234" };
db.Patients.Add(pat);
var labResult = new LabResult { Result = "bad", Patient = pat };
int recordAffected = db.SaveChanges();
Đây là bối cảnh của tôi:
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" });
}
}
Đây là hệ thống SQL 2008 đã được vá đầy đủ, với VS 2010 SP1.