タイプマッチングの問題で立ち往生しています。まず、次の項目と照合して構文が正しいことを確認しました。
すべての条件を代用しようとしましたが、タイプが一致しないことに気付きました。これが私のコードです:
var waQ = someRepository.GetAllQ();
var wrQ = someOtherRepository.GetAllQ();
query = waQ
.GroupJoin(wrQ,
wa => new { wa.someInt, wa.someNullableInt },
wr => new { wr.someMatchingInt, wr.someNonNullableInt },
(wa, wr) => new { wa,
reqOrderID = wr.FirstOrDefault().someMatchingInt,
reqWorkerID = wr.FirstOrDefault().someNonNullableInt
})
.Select([etc.]);
具体的には、使用法から型引数を推測できないというエラーが発生しています。根本的なエラーは、null 許容 int を null 非許容 int に一致させることができないということだと思います。
ただし、回避策を見つけるのに苦労しています。null 非許容の int を「int として」キャストしてみました。そして、私はこのエラーを受け取りました:
匿名型メンバー宣言子が無効です。匿名型のメンバーは、メンバーの割り当て、単純な名前、またはメンバー アクセスを使用して宣言する必要があります。
私も(int?)試して、両方を文字列(.ToString())としてキャストしようとしました。運がない。
誰か提案はありますか?
あなたが提案する前に、wa.someNullableIntをnull不可にすることは許可されていません。また、プログラムにとって意味がありません。
助けてくれてありがとう!