是否可以使用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 '*'
是执行标量值查询以调用存储过程的唯一方法吗?
答案 0 :(得分:1)
在我看来,您认为实体框架是“ADO.net 2.0”,而不是ORM。
我建议使用标准实体框架数据容器并使用LINQ查询,而不是使用它来执行SQL查询。然后它就像是
myDataContainerInstance.myTable.Count()
ObjectQuery与ADO.net命令不相似,不执行SQL语句。相反,它用于直接定义针对对象模型的查询。 (*)无效,因为它不是SQL。