Моя структура таблицы db
ClaimsTable
Id (int) UserId (FK) ClaimType (string) ClaimValue (string)
1 1 Role Administrator
Я не отслеживаю заявки со стороны пользователей, поэтому, когда мне нужны пользователи, я загружаю их вручную.
RIght теперь у меня есть простой вопрос linq, но я не вижу выхода отсюда. Я загружаю заявки пользователей, и я хочу проверить, соответствует ли это утверждению совпадение с аргументом, переданным в качестве аргумента
public bool HasClaim(User user, string type, string value)
{
var claimsRepository = ... claimsrepository init ....
var userClaims = claimsRepository.FindAll().Where(usr => usr.User == user).ToList();
if (userClaims.Count() > 0)
{
// linq statement to select those claims which has type and value
// equal to method parameters
bool containsClaim = ?????
if (containsClaim == true)
return true;
}
return false;
}
Я считаю, что вы ищете:
return claimsRepository.FindAll().Any(user => user.User == user &&
user.ClaimType == type &&
user.ClaimValue == value);