这是我在edmx下的功能:ConceptualModels:
<Function Name="IntConvert" ReturnType="Edm.Int32">
<Parameter Name="stringvalue" Type="Edm.String" />
<DefiningExpression>
CAST(stringvalue AS Edm.Int32)
</DefiningExpression>
</Function>
以下是要翻译的方法:
public partial class SqlCustomFunctions
{
[EdmFunction("MyModel", "IntConvert")]
public static int IntConvert(string stringvalue)
{
throw new NotSupportedException("This function can only be used in a LINQ to Entities query");
}
}
这是调用函数的代码:
filterResults = filterResults.OrderBy(x => SqlCustomFunctions.IntConvert(x.Badge)).Skip(start).Take(length);
错误消息如下:
base = {“LINQ to Entities无法识别方法
'Int32 IntConvert(System.String)'
方法,而且此方法不能 翻译成商店表达。“}
看起来edmx没有编译功能或类似的东西。
导致此问题的原因是什么,我该如何解决?