我有这个代码:
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 更具体......”(必须有......我只是找不到它)
有什么帮助吗?它怎么知道使用A || 乙?