繁体   English   中英

EF4如何调用标量UDF

[英]EF4 how to call a scalar UDF

我试图从实体框架在SQL Server中调用标量UDF。 它显示在“商店”部分的模型浏览器中。

任何帮助表示赞赏。

 //In the EDMX File it shows up in the storage model

<Function Name="GetPerformanceIndicator" ReturnType="float" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="true" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
          <Parameter Name="inv" Type="int" Mode="In" />
          <Parameter Name="fund" Type="int" Mode="In" />
          <Parameter Name="curr" Type="int" Mode="In" />
        </Function>
      </Schema></edmx:StorageModels>

// In the Code I am trying to call as mentioned in the Forum http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/92a3214b-a662-44d5-bed3-11eae9926be6/
var query = _context.CreateQuery<double>("IRISModel.Store.GetPerformanceIndicator(@curr, @fund, @inv)",
                        new System.Data.Objects.ObjectParameter("inv", invfund.Investors.Investor_ID),
                        new System.Data.Objects.ObjectParameter("fund", invfund.Funds.Fund_ID),
                       new System.Data.Objects.ObjectParameter("curr", invfund.Currency.Currency_ID));

                    var x2 = query.Execute(System.Data.Objects.MergeOption.NoTracking);

                    x = x2.FirstOrDefault(); //<<-- This always return zero

您是否尝试过这种方法? 请注意,使用[EdmFunction]属性可提供EF的挂钩,以调用您的自定义函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM