linq 쿼리를 사용하는 몇 가지 방법이 있습니다. 논리는 다음으로 역할 ID 목록에 null을 전달하면 모든 역할이 프로세스에 포함되기를 원하지만 가치가있는 경우 목록에 ID가있는 역할 만 필요합니다. 나는 exeption을 받고있다.List <>가있는 LINQ 쿼리와 null이 있는지 묻는 메시지
public static List<NameEmail> GetNameEmailPairs(Guid guid, List<int> recipientRoles)
{
using (var tc = TransactionContext())
{
var dc = tc.DataContext;
var nameEmailPairs = (
from email in dc.Emails
join logon in dc.Logons on email.GUID equals logon.GUID
join eLogon in dc.ELogons on logon.UID equals eLogon.LogonGUID
join role in dc.Roles on entityLogon.PrimaryPermissionRoleID equals role.RoleID
where
(recipientRoles == null || recipientRoles.Contains(role.RoleID))
select new NameEmail
{
Email = email.EmailAddress,
FullName = GetName(logon.GUID)
}
)
.ToList();
return nameEmailPairs;
}
}
이 부분은 깨졌습니다 (recipientRoles == null || recipientRoles.Contains (role.RoleID)). 이걸로 제발 도와 주실 수 있나요? 어떻게해야합니까?
정확히 어떤 예외를 받고있다? –
System.ArgumentNullException : 값은 null 일 수 없습니다. 매개 변수 이름 : source at System.Linq.Enumerable.OfType [TResult] (IEnumerable source) – Cemsha
"recipientRoles"매개 변수가 null 인 경우이 예외가 발생합니다. – Cemsha