如何计算ObjectQuery <t>会返回多少个对象?</t>

时间:2008-10-21 12:01:43

标签: c# entity-framework

我正在构建一个像这样的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()的伴随查询,或者是否有一个函数可以在某处为我执行此操作?

谢谢。

3 个答案:

答案 0 :(得分:3)

ObjectQuery<T>实现IQueryable<T>,因此您不能简单地使用扩展方法:

int count = oQuery.Count();

执行此操作会怎样?我本来期望整个查询只做一个Count()......(不是我做了很多EF ......)。

答案 1 :(得分:1)

ObjectQuery&lt; T&gt; class实现IEnumerable&lt; T&gt; interface,支持Count()方法。

你从中得到了什么?

int count = oQuery.Count();

答案 2 :(得分:0)

如果计数低于1,则表示已找到新记录,如果没有,则表示已有该记录。