代码之家  ›  专栏  ›  技术社区  ›  AaronLS

使用实体SQL但不使用FROM子句调用UDF?

  •  2
  • AaronLS  · 技术社区  · 14 年前

    我试图调用一个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,但除了用于实体框架的连接字符串之外,我不想管理其他连接字符串集。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Devart    14 年前

    只需从查询中删除select,如下所示:
    var sql=“xyzmodel.store.fieldnametoformiddmap(@fieldtag)”;