2012-01-27 3 views
2

私はこの "サポートチケット"プロジェクトを開始しました。このプロジェクトではチケットを作成でき、管理者とユーザーはどちらも応答できます。私はMVC3に新しい失敗です。私はほとんどの問題を自分で解決しますが、私はGoogle/Stackoverflowを検索するのにこれを5時間ほど費やしてしまいました。私はそれを理解することができません...だから私は専門家に来ました。INSERT文がFOREIGN KEYと競合しました

これはエラーです:

The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Reponses_Tickets1". The conflict occurred in database "C:\USERS\ME\DOCUMENTS\VISUAL STUDIO 2010\PROJECTS\TICKETSYSTEM\TICKETSYSTEM\APP_DATA\TICKETSYSTEM.MDF", table "dbo.Tickets", column 'ID'.

ソースエラー:私がしてきた、不思議に思ったものについては

 public ActionResult Responses(int id, string body) 
     { 
      Ticket ticket = GetTicket(id); 
      Response response = new Response(); 
      response.Body = body; 
      model.AddToReponses(response); 
      model.SaveChanges(); 
      return RedirectToAction("Ticket", new { id = id }); 
     } 

Line 21:    response.Body = body; 
Line 22:    model.AddToReponses(response); 
Line 23:    model.SaveChanges(); 
Line 24:    return RedirectToAction("Ticket", new { id = id }); 
Line 25:   } 

ここでは、完全なコントローラのアクションでありますチュートリアル「ゼロからブログへ100分で」matth ewblagden(YouTube)が、ブログではなくチケットシステムとして使用されています。私は彼が一歩一歩先を追ってきたように言います。

ご協力いただければ幸いです。ありがとう。

+0

データアクセスには何を使用していますか? ActiveRecord、Entity Framework、LINQ to SQLなど... – jrummell

答えて

3

あなたの回答のすべてが何とかチケットに関連付けられていると仮定すると、あなたのコードでもこれを行う必要があります!

public ActionResult Responses(int id, string body) 
{ 
    // get the ticket 
    Ticket ticket = GetTicket(id); 

    // create resposne 
    Response response = new Response(); 
    response.Body = body; 

    // *** BEGIN NEW SECTION *** 
    // here, you need to ASSOCIATE your response to the ticket you're retrieved! 
    response.Ticket = ticket; // or something like that...... 

    // or maybe: 
    response.TicketId = ticket.Id; // or something like that...... 
    // *** END NEW SECTION *** 

    model.AddToReponses(response); 
    model.SaveChanges(); 

    return RedirectToAction("Ticket", new { id = id }); 
} 

は今、あなたはスタンドアロン回答(いないTicketに関連付けられている)を持っている - それは明らかにあなたのデータベースでは動作しません。

+0

それはうまくいきました!どうもありがとうございました! – Clayton

関連する問題