2014-01-22 3 views
0

Transaction 중 하나는 TransactionMembers입니다. 이 목록은 항상 두 개의 항목을 포함합니다.동일한 속성 및 다른 다른 속성을 가진 선택 개체

TransactionMember 유형 RoleEnumTransaction, Role을 가지고 RoleEnum는 두 값을 내가지고있어 방법 내에서 동일한 트랜잭션 및 역할 RoleEnum.Admin

을 가지고 거래 회원을 선택합니다 (관리자 및 편집기)

있다 transactionmember 매개 변수로

public static Transaction SetTransaction(Transaction t, TransactionMember tm) 
{ 
    if(tm.Role == TransactionMember.RoleEnum.Editor) 
    { 
     ... 
    } 
    else 
    { 
     TransactionMember admin = (from t.Members.Where(x=>x.Transaction)) 
    } 
} 
+0

'Transaction'은'TransactionMembers'를 포함하고,'TransactionMember'는'Transaction'을 포함합니까? – Jonesopolis

+0

예, 그 이상한가요? – panjo

+1

@ 존스 나는 그것이 다음과 같은 것이라고 생각한다 :'class Owner {public IEnumerable Things {get; 세트; }} 클래스 일 (public Owner Owner {get; 세트; }}' – Leri

답변

1

이 시도 :

TransactionMember admin = t.Members.FirstOrDefault(x => x.Transaction.Equals(t) 
                 && x.Role == RoleEnum.Admin)); 

관리자가 한 명 이상인 경우 FirstOrDefault 대신 SingleOrDefault을 사용하십시오.

정확히 하나의 관리자 (0이 아니거나 1이 아님)가 있으면 FirstOrDefault 대신 Single을 사용하십시오.

관련 문제