2017-02-04 32 views
0

AspNetUsersテーブルにTeamIDを追加しました。チームテーブルがあり、すべてのチームがIDを与えています。ユーザーにチームを選択させて、選択されたらAspNetUsersテーブルのTeamIDテーブルを更新し、これを行うためのアクションリンクを使用します。別のテーブルのIDを選択してAspNetUsersテーブルに外部キーIDを設定しますか?

[HttpPost] 
     public ActionResult Select(int? id) 
     { 
      Team team = db.Teams.Find(id); 
      if (team != null) 
      { 

       ViewBag.RowsAffected = db.Database.ExecuteSqlCommand("UPDATE AspNetUsers SET TeamID = {0}", team); 
      } 
      return View(); 
     } 

これは私が試したコードですが、それを行うための推奨や良い方法はありませんか?

答えて

0

このクエリでは、アプリのEVERYユーザーのチームコラムが更新されています。

まず、現在のユーザー(実際にアプリケーションを使用しているユーザー)を取得し、WHERE句でID /名前を使用する必要があります。

UPDATE AspNetUsers SET TeamId = XXX where Id = YYYY

は、あまりにも多くの単純な答えのために行きます。現在のユーザーIDを取得する方法は、既にここで回答済みです:

ASP.NET MVC 5 - Identity. How to get current ApplicationUser

関連する問題