2012-06-11 3 views
0

Я смотрел на это, пока не увидел прямо. У меня есть консольное приложение, которое я использую, чтобы проверить логику, прежде чем преобразовать ее в службу. Тот же код отлично работает при запуске из веб-приложения. Объект-ученик заполняется штрафом, и он не бросает никаких ошибок, но когда он никогда не сохраняет базу данных. любое понимание того, что, черт возьми, мне не хватает?консольное приложение Entity Framework db.savechanges не сохраняет

мой файл app.config имеет строку подключения

<connectionStrings> 
    <add name="DatabaseContext" connectionString="Data Source=|DataDirectory|Development.sdf" providerName="System.Data.SqlServerCe.4.0" /> 
    <add name="DevelopmentEntities" connectionString="metadata=res://*/EntityModel.csdl|res://*/EntityModel.ssdl|res://*/EntityModel.msl;provider=System.Data.SqlServerCe.4.0;provider connection string=&quot;Data Source=|DataDirectory|\Development.sdf&quot;" providerName="System.Data.EntityClient" /> 
</connectionStrings> 

foreach (DataRow dr in dt.Rows) 
{ 
    //fill student object and add to list 
    Student s = new Student(); 
    s.SID = dr[0].ToString(); 
    s.FirstName = dr[1].ToString(); 
    s.LastName = dr[2].ToString(); 
    if (sctType == "TRAD") 
    { s.Type = Convert.ToInt32(UniversityGateway.Data.Models.StudentType.Traditional); } 
    else 
    { s.Type = Convert.ToInt32(UniversityGateway.Data.Models.StudentType.AGS); } 
    s.Email = dr[5].ToString(); 
    s.Address = new Address 
    { 
     Street = dr[6].ToString(), 
     City = dr[9].ToString(), 
     State = dr[10].ToString(), 
     Zip = dr[11].ToString(), 
    }; 
    s.UserActive = "Y"; 
    s.Status = Convert.ToInt32(UniversityGateway.Data.Models.StudentStatus.Pending); 
    s.Password = "kHPrSps3JnTkmky7PakBZg==Wdc9Qgcz39p+s6+fqk/nUw=="; 
    students.Add(s); 
    using (var db = new UniversityGateway.Data.DatabaseContext()) 
    { 
     db.Students.Add(s); 
     db.SaveChanges(); 
    } 
} 
+0

Вы используете какой-либо объем транзакции? –

+0

, если вы говорите о классе транзакций, нет. – Brian

+1

Почему у вас есть две строки подключения для одной базы данных? –

ответ

0

Оказывается, это было сохранение объекта. Просто для другой базы данных, чем то, что указано в строке подключения. Есть еще вопрос о том, как это сделать.

Смежные вопросы