尝试调用只接受参数并返回标量的UDF。我见过的例子都使用From子句:http://blogs.microsoft.co.il/blogs/gilf/archive/2009/10/20/calling-user-defined-functions-udfs-in-entity-framework.aspx
但我只想调用UDF,我不想与使用from子句的任何实体“加入”它:
string fieldTag = "TagNameHere";
var sql = "SELECT XyzModel.Store.FieldNameToFormIdMap(@fieldTag)";
System.Data.Objects.ObjectQuery<int> query =
new System.Data.Objects.ObjectQuery<int>(sql, xyzEntitiesContext);
query.Parameters.Add(new System.Data.Objects.ObjectParameter("fieldTag", fieldTag));
我收到错误:“查询语法无效。”
这是使用.NET 3.5
我可以使用旧式ADO.NET,但除了用于实体框架的连接字符串之外,我不必管理另一组连接字符串。
答案 0 :(得分:2)
只需从查询中删除SELECT,如下所示:
var sql =“XyzModel.Store.FieldNameToFormIdMap(@fieldTag)”;