簡體   English   中英

在C#中更新LINQ記錄時出錯

[英]Error when updating LINQ Record in C#

我正在嘗試更新C#中的LINQ記錄,但調用SubmitChanges時會引發錯誤。 我知道有時會在約會中出現拼寫錯誤,但我不小心將其編碼。 給出的異常/錯誤是:

{“'Appointment'類型的對象的成員'Appiontment'的值已更改。\\ r \\ n無法更改定義對象標識的成員。\\ r \\ nConsider添加具有新標識的新對象並刪除現有標識。}} System.Exception {System.InvalidOperationException}

我不被允許刪除舊記錄並添加新記錄。 我的代碼如下:

public bool AppointmentReschedule(string patientFirstName, string patientLastName, string doctorFirstName, string doctorLastName, DateTime newTime)
{
   LINQClassesDataContext dc = new LINQClassesDataContext();

   try
   {
      Appointment a = getAppointment(patientFirstName, patientLastName, doctorFirstName, doctorLastName);
      if (a == null) throw new FaultException("Unable to retrieve appointment data");
      var appointments = dc.Appointments;

      foreach (Appointment b in appointments)
      {
         if (b.Appiontment == a.Appiontment && b.HealthInsuranceNo == a.HealthInsuranceNo && b.MedicalRegistrationNo == a.MedicalRegistrationNo)
         {
            b.Appiontment = newTime;
         }
      }
      dc.SubmitChanges();
   }

   catch (Exception ex)
   {
      throw new FaultException("Unable to update data");
   }
   return true;
}

似乎Appiontment列是表中主鍵的一部分。 我建議在表中引入一個主鍵,可以是每次插入時手動添加的Guid (SQL中的uniqueidentifier ),也可以是int ,您可以將其定義為標識列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM