Прошло пару лет с тех пор, как я использовал Entity Framework, поэтому, возможно, мой мозг - это грязь, но я не могу добавить запись, чтобы сохранить простую базу данных.Basic Entity Framework и локальная база данных, неспособная добавить запись
База данных - это «Локальная база данных», но я не делаю код в первую очередь. Он имеет две таблицы: Tab3 и Tab4. Tab3 имеет столбцы Id (уникальный, первичный ключ, Identity) и Col1 (nvarchar, allow nulls), col2 (nvarchar, allow nulls). Это заполнено двумя рядами. Модель edmx и сопоставления выглядят хорошо для меня. Это должна быть простая настройка.
Код это:
using (DBMod1Entities1 context = new DBMod1Entities1())
{
Tab3 t3 = new Tab3();
t3.Col1 = "e";
t3.Col2 = "3";
context.Tab3.Add(t3);
int res = context.SaveChanges();
Debug.WriteLine("Results from SaveChanges() " + res.ToString());
int cnt = context.Tab3.Count();
Debug.WriteLine("Count records " + cnt);
}
он работает и отвалов на выходе:
Results from SaveChanges() 1
Count records 3
Если я называю это:
using (DBMod1Entities1 context = new DBMod1Entities1())
{
int cnt = context.Tab3.Count();
Debug.WriteLine("Count records " + cnt);
}
я получаю ожидаемый:
Count records 3
Если я продолжаю добавлять глупые записи, подсчеты продолжают расти, как и ожидалось.
НО, если я перезапущу программу, данные не находятся в локальной базе данных. Исходные две записи остаются в базе данных, но записи, которые я добавил, не сохранялись.
Что я делаю неправильно?
Чтобы быть понятным, мой вопрос предполагает, что моя проблема заключалась в использовании работы Entity Frame, в то время как реальная проблема заключалась в обработке «локальной базы данных», как указано в http://stackoverflow.com/questions/6565600/ базы данных файла SDF-ли-не-обновления-после-закрытия-приложения – rwg