实体框架不保存对象

时间:2010-12-07 21:45:52

标签: c# .net entity-framework sql-server-2008

实体框架不保存对象。下一代码运行时没有任何错误,但DB中的更改不受影响。

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

请告知可能存在问题的地方。

3 个答案:

答案 0 :(得分:2)

你的Db在哪里?

在每个构建上复制(覆盖)附加文件数据库。

答案 1 :(得分:0)

也许你必须在AddToPatients方法中做SaveChanges? 在那个方法里面你可以有这样的东西:

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

答案 2 :(得分:0)

您可能需要使用ObjectStateManager将对象的状态更改为Updated,因为它是一个新实例化的实体

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