2015-02-20 2 views
2

Я только начал с структуры Entity, и мне удалось выполнить операции select с помощью linq, но у меня возникла проблема с Inserting. Я попробовал этот пример, чтобы увидеть, что случилось:Метод SaveChanges() не сохраняет изменения в базе данных

 testEntities te = new testEntities(); 
     te.Customer.Add(new Table {Id=1,Credit=200m,Name="test" }); 
     te.SaveChanges(); 

Ну кажется, что изменения строка была добавлена ​​только в testEntites, но не к базе данных, и когда я перезапустить приложение я нахожу ни одной строки не было добавлено. Спасибо,

+0

У вас возникли какие-либо ошибки? Используете ли вы какую-либо область транзакций? – Dnyanesh

+0

У вас есть ошибки? Попробуйте создать 'var t = new Table {Id = 1, Credit = 200m, Name =" test "}; t.markAsAdded(); te.Customer.ApplyChanges (т); te.SaveChanges; ' –

+0

Какой тип' te.Customer'? –

ответ

0

У меня была эта проблема при удалении записей. Не уверен, что вызывает это, но я исправил его, принудительно изменив состояние объекта. Некоторый псевдокод:

Customer CustomerRecord = db.Customer.Find(Id); 
te.Entry(CustomerRecord).State = System.Data.Entity.EntityState.Added; 
te.SaveChanges(); 
0

Один из способов, которым я исправил это, убедившись, что я помещал все необходимые поля в базу данных. Раньше я получал такую ​​же ошибку. Я проверил мою базу данных, и когда я делал запрос, я не помещал поле с недопустимыми значениями. Это решает мою проблему.

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