1
コンパイル時エラー:「型 'System.Collections.Generic.IEnumerable' を 'Domain.User' に暗黙的に変換できません。明示的な変換が存在します (キャストがありませんか?)」
User newUser = uow.UserRepository.Get(u => u.FirstName == "Joah");

次に、キャストを追加すると実行時エラーが発生します。

「型 'System.Collections.Generic.List`1[Domain.User]' のオブジェクトを型 'Domain.User' にキャストできません。」
User newUser = (User)uow.UserRepository.Get(u => u.FirstName == "Joah");

「var」を使用すると、オブジェクトが返されますが、「User」としてキャストする必要があります:-(

なぜこれが起こるのですか?

4

3 に答える 3

2

これは、クエリを実行しているために発生し、結果は Joah というファーストネームを持つ人が返されるセットです。複数の結果がある場合はどうなりますか? それはあなたがここで考慮したいと思うかもしれない何かです.

ただし、これを修正する簡単な方法は、最初のものを取得することです

User newUser = uow.UserRepository.Get(u => u.FirstName == "Joah").FirstOrDefault();
于 2013-10-09T22:15:10.447 に答える