通过选择另一个表的id,在AspNetUsers表中设置外键ID?

时间:2017-02-04 17:39:30

标签: asp.net-mvc asp.net-mvc-5 asp.net-identity

我在TeamID表中添加了AspNetUsers。有一个Teams表,每个团队都提供一个ID。我希望用户选择一个团队,当他们被选中时,TeamID表中的AspNetUsers将使用操作链接进行更新。

[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();
        } 

这是我尝试的代码,但它没有任何建议或更好的方法吗?

1 个答案:

答案 0 :(得分:0)

该查询正在更新应用中 EVERY 用户的“专栏”列。

您需要先获取当前用户(实际使用该应用程序的用户),找到她的ID /名称以在WHERE子句中使用它。

UPDATE AspNetUsers SET TeamId = XXX where Id = YYYY

一个简单的答案太多了。如何获取当前用户ID已经在这里得到解答:

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