C # Entityity Framework SaveChanges () не работает - PullRequest
5 голосов
/ 17 марта 2011

После запуска этого кода я не нахожу записей в моей базе данных.Я не получаю ошибок из кода.

Кто-нибудь знает, что я делаю неправильно?

PeopleEntities1 db = new PeopleEntities1();


            Person roger = new Person() 
            {  
                age = 25,
                firstname = "Roger", 
                lastname = "Rabbit", 
                location = "Canada", 
                job = "freelance", 


            };

            db.AddToPeople(roger);
            db.SaveChanges(true);

Ответы [ 3 ]

4 голосов
/ 17 марта 2011

Где находится ваша база данных? Убедитесь, что вы не копируете его в выходной каталог каждый раз, когда запускаете код. Возможно, у меня была похожая проблема с базой данных SQLite, которая копировалась в выходной каталог каждый раз, когда я запускаю свое приложение, из-за чего я терял изменения, сделанные во время предыдущего запуска

1 голос
/ 17 марта 2011

Прежде всего, SaveChanges(true) - это устаревший метод, поэтому я бы не рекомендовал его использовать.Вы пробовали просто использовать SaveChanges()?Как и в db.SaveChanges()

Ближайшим методом к SaveChanges(boolean) является SaveChanges(SaveOptions), который сохраняет все обновления источника данных с указанным SaveOptions.

1 голос
/ 17 марта 2011

Вместо db.AddToPeople (), попробуйте db.People.Add ().

Также, оберните оператор using вокруг переменной db, чтобы убедиться, что контекст и соединение расположены правильно.

Это для EF4 и .NET 4.0.

Предполагается, что у вас есть список с именем People setup.

Надеюсь, это поможет!:)

Вот код:

using (PeopleEntities1 db = new PeopleEntities1())
{


            Person roger = new Person() 
            {  
                age = 25,
                firstname = "Roger", 
                lastname = "Rabbit", 
                location = "Canada", 
                job = "freelance", 


            };

            db.People.Add(roger);
            db.SaveChanges(true);
}
...