2 つのコレクションから最終的な結果セットを取得する次の LINQ クエリがあります:usersAd
とusersWithSecurity
:
var results = from usrAd in usersAd
from usrRepo in usersWithSecurity
.Where(x => usrAd.Value.ToLower() == x.Value.ToLower())
.DefaultIfEmpty()
select new User(userRepository)
{
ID = usrRepo == null ? null : usrRepo.ID,
Value = usrAd.Value,
FullName = usrAd.FullName
};
問題は、次のエラーが発生し続けることです。Value cannot be null.
問題は、usersWithSecurity
コレクションが空であることです。最後に「.DefaultIfEmpty()」を追加しましたが、それでも例外が発生します。
LINQ ステートメントを変更して、存在し、値が一致する場合 (ラムダに示されているように)からすべてusersAd
のアイテムを返すようにするにはどうすればよいですか?usersWithSecurity