ฉันพยายามทำซ้ำตัวอย่างที่พบใน MSDN ฉันใช้ ASP.NET และ EF 4.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" });
}
}
นี่คือระบบ SQL 2008 ที่ได้รับการแก้ไขอย่างสมบูรณ์พร้อม VS 2010 SP1