мой сценарий
Я хочу создать приложение для стоматологической клиники.У меня окончательная версия vs2010, и я впервые начал с пустой модели, а затем я упаковал ее с помощью Generate database from model …… Теперь у меня есть несколько классов, которые некоторые из них делают мне примитивными, потому что для расширения гибкости у меня есть класс с именем пациента и доктором, который получилот лица абстрактный класс Каждый человек имеет отношение к пациенту 0..1. У каждого доктора много пациентов, и у каждого пациента есть ровно 1 врач (или связь с врачом).
С другой стороны, в каждом случае пациента хранится информация о страховании, и каждая информация по страхованию имеет отношение к классу insurancecompany в моем начальном классе с именем пациента I; я пытаюсь создать нового пациента с помощью этого конструктора: Внимание: новый врач и новая страховая компанияexsist ранее и сохраняется в базе данных) И selectdoctor является переменной с типом doctor, который удерживает выбор доктора из выпадающего списка.
public Patient(Doctor doctorname, string n, string f, string codemeli, string datebirth, bool gender, bool material, string age, bool group,PatientCase pc,Address a,contactdetail condetail)
{
Doctorname.patient.add(this); // is this code right?
selectdoctor = doctorname;
this.Firstname = n;
this.lastname = n;
this.internationalcode = codemeli;
this.dateofbirth = datebirth;
this.gender = gender;
this.materialstatus = material;
if(age!="")
this.age = int.Parse(age);
this.group = group;
this.PatientCase = pc;
this.adres = a;
this.contac = condetail;
}
И это мой метод сохранения для сохранения пациента в этом классе:
public void save()
{
db = new DentalContainer(DbAccess.Get_EntityConstring());
dr.Patient.Add(this);
db.tblPerson.AddObject(this);
db.SaveChanges();
}
И это код из формы для стационарного лечения для создания нового пациента:
Patient newpatient=new Patient (SelectDoctor,txtname.Text,txtfamily.Text,txtinternationalcode.Text,txtbirthdate.Text,get_GenderStatus(chkMan.Checked,chkWoman.Checked),get_MaterialStatus(chkunmarried.Checked,chkmarried.Checked),txtage.Text,get_group(chkMan.Checked,chkadult.Checked),npc,newaddress ,newcontacdetail);
Npc - это терпеливый случай, который я создал раньше в коде выше;и передайте его конструктору пациента сейчас, когда происходит db.savechanges, возникает это исключение или ошибка: свойство EntityKey
может быть установлено, только если текущее значение свойства равно нулю.
Где моя ошибка, помогите мне, пожалуйста?