我有一个标量函数:
我尝试像这样使用这个函数:
CREATE FUNCTION [dbo].[CheckLocation]
(
@locationId Int
)
RETURNS bit
AS
BEGIN
//code
END
我想在Entity Framework上下文中使用它。
我已经将它添加到EDMX文件的SSDL中:
<Function Name="CheckLocation" ReturnType="bit" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="true" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo" >
<Parameter Name="locationId" Type="int" Mode="In" />
</Function>
我还创建了一个带有使用EdmFunctionAttribute
修饰的方法的部分类:
public partial class MainModelContainer
{
[EdmFunction("MainModel.Store", "CheckLocation")]
public bool CheckLocation(int locationId)
{
throw new NotSupportedException("Direct calls not supported");
}
}
我尝试像这样使用这个函数:
Context.CheckLocation(locationId);
我收到了 NotSupportedException("不支持直接调用")
。
它在 Select
方法中可以工作,但这并不适合我。
我如何在不使用 Select
方法的情况下调用此函数?