Я пытаюсь вызвать 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 старого стиля, но я бы предпочел не управлять другим набором строк подключения, кроме тех, которые используются для структуры сущностей.