如何根据许多选项确定VAR?

时间:2012-06-22 15:11:41

标签: c# .net entity-framework .net-4.0 iqueryable

我有这段代码:

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

要选择实体,ObjectContext实际上创建了ObjectQuery,其中   实现IQueryable。从ObjectQuery返回的对象不是   普通对象,但是EntityObject

但如果我写的话:(注意var

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

可以确定ienumerable iqueryable

因为ObjectQuery 同时实施IEnumerable ...

我不知道是否有任何特定的信息告诉编译器“使用A而不是B. A更具体......”(必须......我只是无法找到它)

enter image description here

任何帮助?怎么知道使用A || B?

1 个答案:

答案 0 :(得分:4)

IQueryable<T> itself inherits from IEnumerable<T>,因此它比IEnumerable<T>更具体,即使ObjectQuery<T>实现了两个通用接口。