我可以在EF 4.1中执行标量查询吗?

时间:2012-03-05 15:36:56

标签: asp.net entity-framework-4.1

是否可以使用EF 4.1执行标量值查询?

我试过了:

     ObjectQuery<int> query = new ObjectQuery<int>("select count(*) from myTable", _context);
     var result = query.Execute(MergeOption.NoTracking);
     return result.FirstOrDefault();

但它返回错误:The query syntax is not valid. Near term '*'

是执行标量值查询以调用存储过程的唯一方法吗?

1 个答案:

答案 0 :(得分:1)

在我看来,您认为实体框架是“ADO.net 2.0”,而不是ORM。

我建议使用标准实体框架数据容器并使用LINQ查询,而不是使用它来执行SQL查询。然后它就像是

    myDataContainerInstance.myTable.Count()

ObjectQuery与ADO.net命令不相似,不执行SQL语句。相反,它用于直接定义针对对象模型的查询。 (*)无效,因为它不是SQL。