2010-12-07 30 views
2

Entity Framework ne sauvegarde pas l'objet. Le code suivant s'exécute sans aucune erreur, mais les modifications ne sont pas affectées dans la base de données.Entity Framework ne sauvegarde pas l'objet

using (MedDbEntities me = new MedDbEntities()) 
      { 
       Patients p = new Patients(); 
       p.lastName = _uc.lastNameTextBox.Text; 
       p.firstName = _uc.firstNameTextBox.Text; 
       p.middleName = _uc.middleNameTextBox.Text; 
       p.sex = 0; 
       if (_uc.sexComboBox.SelectedText.Equals("ч")) 
        p.sex = 1; 
       if (_uc.sexComboBox.SelectedText.Equals("ж")) 
        p.sex = 2; 
       p.birthday = _uc.birthdayDateTimePicker.Value; 

       me.AddToPatients(p); 
       me.SaveChanges(); 
      } 

S'il vous plaît, conseiller où peut être un problème.

+0

Quelles mesures avez-vous prises pour résoudre les problèmes et quels ont été les résultats? – Greg

Répondre

2

Où est votre Db?

Une base de données jointe est copiée (écrasée) sur chaque build.

+0

oui, il est attaché fichier MDF. Les changements devraient-ils être sauvegardés là-bas? – Anton

+0

Merci, ça m'aide. – Anton

0

Peut-être que vous devez faire SaveChanges dans la méthode AddToPatients? A l'intérieur de cette méthode, vous sould quelque chose comme ceci:

_db.Patients.AddObject(patient); 
_db.SaveChanges(); 
0

Vous devrez peut-être utiliser le ObjectStateManager pour changer l'état de l'objet à jour parce qu'il est une entité nouvellement instancié

MyEntities db = new MyEntities(); 

Product product = new Product(); 
product.Title = "My New Product"; 

db.AddToProduct(product); 
db.ObjectStateManager.ChangeObjectState(product, System.Data.EntityState.Updated); 
db.SaveChanges();