使用Linq将数据插入带有外键的SQL

时间:2018-03-02 20:30:58

标签: c# sql-server wpf visual-studio linq

我有一个包含' Personne'表,'患者' table(这个包含一个外键,用于' Personne')和' RendezVous'表。我想在我的RendezVous表上添加一个新元素,但在我的' RendezVous'表我想要idPatient,我在我的应用程序中输入名字和姓氏所以我必须搜索' Personne'用于获取idPerson的表格,并在我的“患者”中搜索该ID。用来获取idPatient的表。如果患者不存在,我将id放在1.我使用LinQ to SQL,但它不起作用......我可以得到一些帮助吗?

public void AddRdv(DateTime date, byte idMedecin, string nomPatient, string prenomPatient, bool important, string notes)
    {
        string con = $@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename={System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)}\MCDatabase.mdf;Integrated Security=True";
        MCDataClassDataContext dataClass = new MCDataClassDataContext(con);
        var patientRdv = (from personne in dataClass.Personne
                          where nomPatient == personne.nom && prenomPatient == personne.prenom
                          join patient in dataClass.Patient on personne.Id equals patient.IdPersonne
                          select personne);
        Personne pers=patientRdv.First();

        if (patientRdv.Count()!=0)
        {
            pers = patientRdv.First();
            RendezVous rdv = new RendezVous
            {
                Date = date,
                IdPatient = pers.Id,
                IdMedecin = idMedecin,
                Important = important,
                Fait = false,
                Note = notes
            };
            dataClass.RendezVous.InsertOnSubmit(rdv);
            dataClass.SubmitChanges();
        }
        else
        {
            RendezVous rdv = new RendezVous
            {
                Date = date,
                IdPatient = 1,
                IdMedecin = idMedecin,
                Important = important,
                Fait = false,
                Note = notes
            };
            dataClass.RendezVous.InsertOnSubmit(rdv);
            dataClass.SubmitChanges();
        }
    }

0 个答案:

没有答案