4

私はこのコードを持っています:

IEnumerable<string> q = customers /*EF entity*/
.Select (c => c.Name.ToUpper())
.OrderBy (n => n)

エンティティを選択するために、ObjectContextは実際にIQueryableを実装するObjectQueryを作成します。ObjectQueryから返されるオブジェクトは、通常のオブジェクトではなく、EntityObjectです。

しかし、私が書くとどうなりますか:(に注意してくださいvar

var q = customers /*EF entity*/
.Select (c => c.Name.ToUpper())
.OrderBy (n => n)

ienumerable または の両方に決定できますiqueryable

ObjectQuery また、実装するため IEnumerable...

コンパイラに「BではなくAを使用する」という特定の情報があるかどうかはわかりません。Aの方が具体的です... (あるはずです...私はそれを見つけることができません)

ここに画像の説明を入力してください

何か助けはありますか?Aを使用することをどのように知るのでしょうか|| B?

4

1 に答える 1

4

IQueryable<T>それ自体はから継承するIEnumerable<T>ため、両方の汎用インターフェースを実装しIEnumerable<T>ている場合でも、より具体的です。ObjectQuery<T>

于 2012-06-22T15:13:27.807 に答える