我正在尝试映射一个具有自定义模式的数据库标量函数。这是我在上下文中注册该函数的方式:
[DbFunction("ProjectMaterial_GetCostPrice","Project")]
public static decimal ProjectMaterial_GetCostPrice (int ProjectMaterialID, decimal ExtCost)
{
return 0;
}
我在上下文的部分类中注册标量函数。这是数据库中标量函数的模式:
-- Select Project.ProjectDriver_GetCostPrice (5456921)
ALTER FUNCTION [Project].[ProjectMaterial_GetCostPrice] (@ProjectMaterialID int, @ExtCost money)
RETURNS MONEY
AS
根据文档建议,我将方法的主体改为抛出异常:
throw new NotSupportedException();
它抛出了异常而不是调用函数。
这是我如何调用函数:
var newCostPrice= NsiteDBContext.ProjectMaterial_GetCostPrice(projectMaterial.ProjectMaterialId, projectMaterial.CostPrice.Value);