asp.net linq to entity oracle,entity-framework – 如何调用Oracle函数,使用LINQ to Entities返回值?...

我正在开发一个从Oracle 11g数据库访问数据的应用程序.我正在使用EF4,使用LINQ访问数据.

我遇到过需要调用存储在包中的函数的场景.此函数还具有返回值.我已将此函数添加到实体数据模型,但无法对其执行“添加函数导入”.因此我无法使用LINQ访问它.

如何调用此函数并获得它的返回值?

我不久前问过这个问题,但还没有得到任何答案.无论如何,我正在更新它的一些细节,以便其他人了解问题并引导我朝着正确的方向前进.我试图实现这个question中提出的解决方案,但我得到了例外.

我已将以下内容添加到我的实体数据模型的designer.cs文件中:

[EdmFunction("TestModel.Store", "TestFunction")]

public int TestFunction(decimal ALNR, decimal ATID, decimal AUKENR)

{

throw new ApplicationException();

}

以下是edmx文件的一小部分:

以下是我调用此函数的方法:

var selectQuery = from T in _context.Table1

join A in _context.Table2 on T.columnA equals A.columnB

join TU in _context.Table3 on T.columnC equals TU.columnD

where T.columnD == 5 && T.columnE == someVariable

select new someType

{

propertyA = A.columnG,

propertyB = _context.TestFunction(T.columnE, A.columnF, TU.columnH)

};

但是,当我执行以下任何操作时:

ObservableCollection weekTotaldata = new ObservableCollection(selectQuery); //Exception thrown at runtime

要么

foreach (var ttu in selectQuery) //Exception thrown at runtime

{

double testval = ttu.propertyB;

}

我得到了该函数“ApplicationException”中抛出的异常.不应该这样

在L2E查询的其他地方调用此函数时抛出异常?

我究竟做错了什么?如何从Linq-To-Entities调用oracle函数?请注意,我尝试调用的函数不是内置的oracle函数,而是用户定义的函数.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值