3 Stimmen

Die Eigenschaft "Id" ist Teil der Schlüsselinformationen des Objekts und kann nicht geändert werden.

Ich habe eine Beispiel-Webanwendung, die ich schreibe und im verwirrt, warum ich diese erhalten

Die Eigenschaft "Id" ist Teil der Schlüsselinformationen des Objekts und kann nicht geändert werden.

wenn ich die "Id" nicht aktualisiere?

Ich versuche also Folgendes zu tun.

Ich habe 2 Tabellen Themen und Beiträge und --

  1. Der Benutzer erstellt ein neues Thema und fügt einen Datensatz in der Datenbank hinzu.
  2. Abrufen der TopicId und Setzen dieser Id auf die TopicId des Posts
  3. Die Id dieses Beitrags abrufen und als LastPostId des Themas festlegen

Ich aktualisiere den Beitrag, so dass ich immer dann, wenn ich den letzten Beitrag zu diesem Thema anzeigen muss Ich muss nicht nach Datum für alle Beiträge in diesem Thema sortieren. Es sollte eine bessere Möglichkeit geben, dies zu tun

Wenn ich debugge, sehe ich, dass Die Themenkategorie-ID wird als die Themen-ID festgelegt die ich in meinem Aktualisierungscode nicht habe.

//
        // insert new topic to database

        Topic topic = new Topic();

        topic.CategoryId = int.Parse(RouteData.Values["id"].ToString());
        topic.Title = postModel.Title;

        topicRepo.Add( topic );
        topicRepo.Save();

        //
        // insert post to database
        PostRepository postRepo = new PostRepository();
        Post post = new Post();

        post.TopicId = topic.Id;
        post.Body = postModel.Body;

        string strUserId = UserAccount.FormatUserName( User.Identity.Name );

        post.CreatedByUser = strUserId;
        post.CreationDate = DateTime.Now;

        postRepo.Add( post );
        postRepo.Save();

        // ***********************
        // update topic last post
        // ***********************
        Topic updateTopic = topicRepo.GetTopic( topic.Id );
        updateTopic.LastPostId = post.Id;

        TryUpdateModel( updateTopic );
        if ( ModelState.IsValid ) 
            topicRepo.Save();

Danke!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X