1

我正在构建一个这样的 ObjectQuery:

        string query = "select value obj from Entities.Class as obj " +
                       "where obj.Property = @Value";

        ObjectQuery<Class> oQuery = new ObjectQuery<Class>(query, EntityContext.Instance);
        oQuery.Parameters.Add(new ObjectParameter("Value", someVariable));

我现在可以将此对象分配为控件的 DataSource,或者使用 foreach 循环进行迭代,甚至强制实现到 List,但是,我可以计算将返回的对象的数量,而不强制实现吗?

我是否需要创建一个将执行 count() 的伴随查询,或者是否有一个函数可以在某处为我执行此操作?

谢谢你。

4

3 回答 3

3

ObjectQuery<T>implements IQueryable<T>,所以你不能简单地使用扩展方法:

int count = oQuery.Count();

如果你执行这个会发生什么?我本来希望整个查询只做一个 Count()...(并不是说我做了很多 EF...)。

于 2008-10-21T12:15:50.833 回答
1

ObjectQuery<T> 类实现了支持 Count() 方法的 IEnumerable<T> 接口。

你从中得到什么?

int count = oQuery.Count();
于 2008-10-21T12:16:39.583 回答
0

如果计数小于 1,则它找到了一条新记录,如果没有,它已经有了该记录。

于 2010-03-02T14:44:35.960 回答