2010-12-07 8 views
2

Entity Frameworkはオブジェクトを保存しません。次のコードはエラーなく実行されますが、変更はDBでは影響を受けません。Entity Frameworkはオブジェクトを保存しません。

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(); 
      } 

問題が発生する可能性がある場所を教えてください。

+0

トラブルシューティングの手順と結果は何ですか? – Greg

答えて

2

あるので、あなたは、更新にオブジェクトの状態を変更するためにObjectStateManagerを使用する必要がありますあなたのDbは?

添付ファイルデータベースが各ビルドにコピー(上書き)されます。

+0

はい、添付のMDFファイルです。変更を保存する必要がありますか? – Anton

+0

ありがとう、それは私を助けます。 – Anton

0

おそらく、AddToPatientsメソッドの内部にSaveChangesを行う必要がありますか? そのメソッドの内部で、あなたがこのような何か持ってsould:

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

を、それが新たにインスタンス化されたエンティティ

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();   
関連する問題