私のLinqステートメントはエラーを出します。問題は、カスタムビルドのデータレイヤーを使用するプロジェクトに参加しているため、間違ったLinqステートメントを作成しているのか、データレイヤーがそれを処理できないのかがわかりません。
だからここに声明があります:
IQueryable<Affiliate> temp;
Func<RolePersonRole, bool> func;
if (roleMustBePrimary)
{
func = role => role.RolePersonRoleIsPrimary.Value == true;
}
else
{
func = role => role.RoleId == role.RoleId;
}
temp = (from affiliate in DataFacade.Instance().Tables(SessionTicket).Affiliates()
join role in DataFacade.Instance().Tables(SessionTicket).RolePersonRoles().Where(func) on affiliate.PersonId
equals role.PersonId
where role.RoleId == roleId
&& affiliate.AffiliateAssuranceLevel == assuranceLevelEnum
select affiliate);
つまり、boolroleMustBePrimary
がtrueの場合は、whereステートメントを追加する必要があり、falseの場合は、追加しないでください(したがって、role => role.RoleId == role.RoleId
)。
私が得ているエラーは次のとおりです。
タイプ'System.Collections.Generic.IEnumerable`1[SkillsNG.Modules.RolePersons.Entities.RolePersonRole]'の式はシーケンスではありません