我正在构建一个像这样的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()的伴随查询,或者是否有一个函数可以在某处为我执行此操作?
谢谢。
答案 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,则表示已找到新记录,如果没有,则表示已有该记录。