mvc4如何从控制器中的tolist查询中提取值

时间:2014-10-20 04:13:37

标签: asp.net-mvc asp.net-mvc-4 actionresult

好的,这是基本设置;用户登录我获得该用户 myid 的唯一ID,然后我尝试通过进入变量 myfriends <变量中显示的朋友表获取登录用户朋友的列表/ strong>请注意,我只选择了表示朋友的uniqueID的friendID列。然后我将myid与profileID进行比较,如果他们是朋友,那么该ID应匹配。问题是我在 myfriends 变量上使用。 tolist(),我似乎无法提取friendID(我正在使用tolist()因为.tolist()只提供了一个提取了多少记录的值,因为用户可以拥有多个朋友,但是tolist只计算要在 friendprofile 变量中进行比较的记录数量。如何从myfriends获取friendID值,以便我可以在friendprofile中对它进行比较,以便我可以向用户显示朋友个人资料?任何帮助都会很棒

       [Authorize]
        public ActionResult myprofile()
    {
// Logged in User unique ID                     
int myid = Convert.ToInt32(User.Identity.Name);
 // list of Logged in User friends by ID
                    var myfriends = sqlConnection.Query<friend>("Select friendID from friends where myid=@profileID",new { profileID = myid }).ToList();
                    // get friends profiles
                    var friendprofile = sqlConnection.Query<profile>("Select * from profiles where friendID=@profile",new { profile = myfriends }).ToList();
   }

1 个答案:

答案 0 :(得分:0)

您可以使用SQL IN Operator

执行此操作
int myid = Convert.ToInt32(User.Identity.Name);
var friendprofile = sqlConnection.Query<profile>("Select * from profiles where friendID IN (Select friendID from friends where myid=@profile)",new { profile = myid }).ToList();