sqlserver/实体框架.从.net 3.5调用store函数

本文关键字:调用 store 函数 net 实体 框架 sqlserver | 更新日期: 2023-09-27 18:29:48

调用函数有一些问题

var query = _entities.CreateQuery<double?>(
String.Format("select [dbo].[udf_ExchangeCurrencyRatesGetValue] ({0},{1},{2},{3})", "'bid'", activeScenario.Scenario_id, product.ID, pair.Instr_id));
var bidValue =  query.Execute(MergeOption.OverwriteChanges).GetEnumerator().Current;

activeScenario.Scenario_id,产品。ID,配对。Instr_id—整数变量。

查询时。执行已执行,激发异常:

查询语法无效。,第2行第0列附近。

该查询完全在.net4:上运行

var bidValue =DataAdapter.ModuleEntities.ExecuteStoreQuery<double?>(String.Format("select [dbo].[udf_ExchangeCurrencyRatesGetValue] ({0},{1},{2},{3})", "'bid'", ratesScenario.Scenario_id, product.ID, pair.Instr_id)).First();

有人知道如何在.net 3.5上运行此代码吗?

sqlserver/实体框架.从.net 3.5调用store函数

如果您想通过实体框架调用MS SQL中的表值函数;你可以使用这个:

var retval = new List<MyClass>();
retval = db.Database.SqlQuery<MyClass>(String.Format(@"select * from dbo.myDatabaseFunction({0})", id)).ToList<MyClass>();

我们不得不说ToList<>的映射类型方法和MyClass必须包含由函数返回的所有列。