Если бы не было проблем с запросом, было бы возвращено пустое перечисление.
Проблема здесь внутри ваших операторов Where()
.JournalCode
или CmsRole
равны нулю (при условии, что вы уже проверили journalCode
и role
для нулевых значений где-либо еще) на одном из объектов в PermissionGroups
.Когда вы вызываете ToLower()
для этого значения, оно выдает вышеупомянутое исключение.
Вы можете защитить себя немного лучше с помощью следующего:
if(!String.IsNullOrEmpty(journalCode) && !String.IsNullOrEmpty(role))
{
Roles =
PermissionGroups
.Where(r => r.JournalCode != null
&& r.JournalCode.Equals(journalCode,
StringComparison.InvariantCultureIgnoreCase))
.Where(r => r.CmsRole != null
&& r.CmsRole.Equals(role,
StringComparison.InvariantCultureIgnoreCase))
.Where(r => r.AccessLevel > 0);
}