IF用户角色/家庭等于

本文关键字:家庭 用户 角色 IF | 更新日期: 2023-09-27 18:21:15

我有三个表UsersUsersInFamilyFamilys

我希望能够检查用户是否附加到姓氏。类似于检查用户是否处于角色(即User.IsInRole("Admin"))的方式。我希望能够做下面这样的事情,但我不知道如何做到这一点(我是一个新手,所以请原谅我!):

var user = context.Users.Where(c => c.UserID == FormPostID).SingleOrDefault();
if (user.Familys.FamilyName == "Flinstone") // Can't seem to get the family name 

我想我可能需要写一个函数GetFamilyForUser(UserID);来进行比较,但希望我能做类似于上面的事情?

Essential我想检查用户是否在Family和编辑器的Role中,然后才能进行编辑。

有点像黑手党,只有当你在家里成为一个男人,你才能有自己的看法,哈哈!

IF用户角色/家庭等于

如果我正确理解您的数据库设计,UsersInFamily应该包含UserID和FamilyID字段,对吧,这样多个用户就可以是多个族的成员?

如果是这样的话,你就不能按照你尝试的方式去做。你需要改为这样称呼:

var user = context.UsersInFamily.Where(c => c.UserID == FormPostID).SingleOrDefault(); 
if (user.Familys.FamilyName == "Flinstone") 
{
    // This should work
}

然而,如果Users和Familys表之间的关系是多对一的,那么您需要调用以下内容:

var user = context.Users.Where(c => c.UserID == FormPostID).SingleOrDefault(); 
foreach (Family f in user.Familys)
{
    if (f.FamilyName == "Flintstone")
    {
        // This works
    }
}