如何检查表中是否存在条目? MVC

时间:2017-04-11 14:08:26

标签: asp.net-mvc

我正在设计类似facebook组的东西。我有用户表和社区,其中一个关系表名称为 CommunityUser 。我想知道用户是否已加入社区?如果社区ID存在于CommunityUser表中的该userID,则可能需要这样做。 这是我的IsMember()函数代码。

public bool IsMember(string UserID, int CommunityID)
    {
        var MembershipUser = db.Users.Include(x => x.CommunityUsers).Where(s => s.Id == UserID).FirstOrDefault();

        var Membership = MembershipUser.CommunityUsers.Count();
        if (Membership > 0)
            return true;
        else
            return false;
     }

我的用户表中有虚拟连接

public virtual ICollection<CommunityUser> CommunityUsers { get; set; }

    public ApplicationUser()
    {
        CommunityUsers = new Collection<CommunityUser>();
    }

1 个答案:

答案 0 :(得分:1)

如果您打算返回布尔值,请考虑使用Any()方法:

public bool IsMember(string UserID, int CommunityID)
{
    // This will return if a given user exists
    return db.Users.Any(u => u.Id == UserId);
}

同样,你也可以考虑引入相关的CommunityUsers集合并在你的查询中检查它:

public bool IsMember(string UserID, int CommunityID)
{
    // This will return true if a given user exists and if a specific
    // CommunityId is present for that user
    return db.Users.Include("CommunityUsers")
                   .Any(u => u.Id == UserId && u.CommunityUsers.Any(c => c.Id == CommunityId));
}