linq クエリを使用したメソッドがあります。ロジックは次のとおりです。ロール ID のリストに null を渡すと、すべてのロールをプロセスに含める必要がありますが、値がある場合は、リストに ID を持つロールのみが必要です。免除を受けています。
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))。どうすればいいですか?