EF中映射Oracle存储过程及调用出现的一些问题

最近的系统开发使用的是Oracle数据库,因为要用到EF来映射,出现了几个问题,因为公司管理的原因,我无法截图并上传出来,只能靠记忆写出大致的方法


1、添加的存储过程没出现:

在VS中更新模型或者新增的时候,如果直接选中存储过程,点击完成,在Model Browser里面并没有出现,用xml方式打开edmx,如果有些已经映射的存储过程,拷贝其中一个映射在edmx中的代码,然后修改相应的名字和参数,放到同级节点位置,保存,这个时候在Model Browser,就出现了。


2、出现调用存储过程,提示参数个数或类型不对:

这个主要是有返回游标参数,有些说在designer代码里面加上这个返回参数,我没试过,而且如果在代码里面改,每次新加一个表或存储过程都新生成代码,导致要手动修改。因为是在类库工程里面使用EF,然后在web工程和控制台工程里面使用,发现报这个错,所以当时直接在控制台工程添加edmx文件映射,并使用,发现没有问题,对比之后,发现直接在控制台的工程里面映射的config文件和在类库映射之后,在web工程或控制台工程的config配置文件不同,把对应的一段存储过程配置拷贝进去就可以了。


3、无法再添加存储过程的时候生成接受类:

可以自己手动添加,然后在添加方法那里选择相应的存储过程,自己手动加的接受类,然后在右击方法,选择mapping,也就是映射到数据表的列,那里设置接受类的属性对应的列名,也就是返回游标那里查出来的列的名称


如果对edmx的xml文件的内容非常熟悉,其实可以直接在里面编写,与界面的操作一样,但是要求比较高,如果一旦熟悉,操作速度可以快很多。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值