Вызов UDF с Entity SQL, но без предложения FROM? - PullRequest
2 голосов
/ 19 октября 2010

Я пытаюсь вызвать 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 Ответ

2 голосов
/ 20 октября 2010

Просто удалите SELECT из вашего запроса, например, так:
var sql = "XyzModel.Store.FieldNameToFormIdMap (@fieldTag)";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...