ЕСЛИ пользователь Роль / Семья равен? - PullRequest
0 голосов
/ 23 января 2012

У меня есть три таблицы Users, UsersInFamily, Familys.

Я бы хотел проверить, не привязан ли пользователь к фамилии. Подобно тому, как вы можете проверять пользователей в ролях, т.е. 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 редактора, прежде чем они смогут внести изменения.

Вроде как мафия, Только когда вы стали искусственным человеком в семье, вы можете иметь мнение, лол!

1 Ответ

1 голос
/ 24 января 2012

Если я правильно понял дизайн вашей базы данных, 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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...