Beantwortet Datenbank Update mittels Linq to SQL

  • Montag, 26. November 2012 12:46
     
      Enthält Code

    Hallo zusammen,

    Ich benutze einen SQL Server 2005.
    Unter Visual Studio 2010 habe ich eine Silverlight anwendung erstellt.

    Die Datenbank habe ich im Web Part des Projektes eingebunden (Linq to SQL Classes *.dbml) und ich schaffe auch aus der Datenank zu lesen.

    Nun möchte ich eine Update Funktion implementieren mit der die Einträge in der Datenbank aktualisiert werden.
    Diese Funktion stelle ich in einem Webpart zur Verfügung die das tatsächliche Update durchführen soll. Dazu habe ich folgende Funktion geschrieben:

    [OperationContract]
    public void updateBasicsDetails(int projNr, string projectCatchword)
    {
          DBDataContext db = new DBDataContext();
     
         var result = db.Basics_TABs.FirstOrDefault(l => l.ProjectID== projNr);
          if (result == null)
                     throw new ArgumentException("User not found", "username");
     
         result.ProjectCatchword = projectCatchword;
     
         db.SubmitChanges();
     }

    Clientseitig binde ich die entsprechende Service Referez ein.

    Dann habe ich einen Button erstellt, mit dem ich das Update der Datenbank durchführen möchte. Diese Funktion sieht folgendermaßen aus:

    private void cmdSave_Click(object sender, RoutedEventArgs e)
     {
          ServiceClient.updateBasicsDetailsAsync(100, txtProjectCatchword.Text.ToString());
     }

    Ich habe mich sehr viel durchs Netzt gewühlt und immer wieder war der Tip, dass es einen Primary Key in der Tabelle geben muss. In meiner Tabelle ist die ProjektID und eine ID die einfach nur mitzählt der Primary Key. Aber auch das löst mein Problem nicht.

    Ich bekomme zwar keine Fehlermeldung und eine Exception wird auch nicht geworfen, aber ein Update wird nicht durchgeführt. In der Datenbank bleibt einfach das alte Projektstichwort stehen.

    Ich zerbreche mir den Kopf und weiß nicht mehr, was ich noch machen kann.

    Es wäre super, wenn mir hier jemand helfen und unterstützen könnte.

    Gruß

    Olli

Alle Antworten