位置: 编程技术 - 正文

使用ef6创建oracle数据库的实体模型遇到的问题及解决方案(oracle创建emp表)

编辑:rootadmin

推荐整理分享使用ef6创建oracle数据库的实体模型遇到的问题及解决方案(oracle创建emp表),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:oracle创建pfile,ef创建表,ef创建表,ef连接oracle,ef连接oracle,ef创建数据库,ef创建表,ef oracle,内容如对您有帮助,希望把文章链接给更多的朋友!

解决方案中的数据层项目最初使用的是oracle g + ef5 创建的实体模型,在分页时遇到了skip参数为0报错的问题,没有找到相关资料。

于是决定升级到ef6,在oracle官网中得知,Oracle Data Provider for .NET in ODAC c Release 3 开始支持ef6( EntityFramework 6 +Oracle.ManagedDataAccess +Oracle.ManagedDataAccess.EntityFramework,都安装最新稳定版。

安装后app.config和web.config都会被加入如下配置项

注意 entityFramework和 system.data中的版本号,nuget安装后自动生成的一般没问题,我在安装之前把网上找的资料里的配置项放在里面了,但是版本号不一致,程序启动不了,一直没注意到版本号,

找了好一会才发现是这两个地方。

3.然后就可以添加实体模型了。此时如果vs中显示找不到与ef6 兼容的实体框架提供程序,需要将配置文件中的ef节的 <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />删掉或者注释掉,保存后再重新尝试添加实体模型。

使用ef6创建oracle数据库的实体模型遇到的问题及解决方案(oracle创建emp表)

添加实体模型时需要先不选择数据库里的表,即生成空模型,然后打开edmx文件,在模型浏览器中选中实体模型,在属性中把DDL生成模板改成SSDLToOracle.tt (VS),数据库生成工作流改成Generate Oracle Via T4 (TPT).xaml (VS)。

这么做的原因是如果DDL生成模板使用默认项SSDLToOracle.tt ,oracle中的number(1,0)和number(2,0)类型的字段生成的实体属性的类型会是int,然后运行的时候报映射不匹配的错误(错误代码)。

报错原因是oracle从ODP.NET .1.0.2开始为ef6采用新的默认类型映射,官网说明 New Default Mappings 段。

SSDLToOracle.tt模板生成的属性的类型是number(1,0)对应boolean,number(2,0)对应byte,这个对应关系与新映射是一致的。

附上ef5的映射

Oracle Type Default EDM Type Custom EDM Type Number(1,0) Int bool Number(2,0) to Number(3,0) Int byte Number(4,0) Int Int Number(5,0) Int Int Number(6,0) to Number(9,0) Int Int Number(,0) Int Int Number(,0) to Number(,0) Int Int Number(,0) Int Decimal

总结

以上所述是小编给大家介绍的使用ef6创建oracle数据库的实体模型遇到的问题及解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

angular之ng-template模板加载 本文介绍了angular之ng-template模板加载,分享给大家,具体如下:html5中的templatetemplate标签的含义:HTMLtemplate元素是一种用于保存客户端内容的机制,该

js定时器+简单的动画效果实例 1.向下滑动!DOCTYPEhtmlhtmllang="en"headmetacharset="UTF-8"title向下滑动/titlestylebody{margin:0px;}#show{width:px;/*高度为0*/height:px;background-color:lightcoral;margin:0auto;/*设

javascript实现电脑和手机版样式切换 本文实例为大家分享了javascript实现电脑和手机版样式切换的具体代码,供大家参考,具体内容如下!DOCTYPEhtmlhtmlheadmetacharset="UTF-8"title/titlestyletype="text/css"

标签: oracle创建emp表

本文链接地址:https://www.jiuchutong.com/biancheng/369762.html 转载请保留说明!

上一篇:微信小程序倒计时功能实现代码(微信小程序倒计时乱跳)

下一篇:angular之ng-template模板加载

  • 固定资产进项税的账务处理
  • 房地产增值税税率是多少
  • 不含税金额计算税额的计算公式
  • 车辆购置税计入固定资产入账价值吗
  • 固定资产二级科目取消原因
  • 物业公司收款一般多久
  • 用于后勤管理部的工作
  • 合同租金总收入怎么填
  • 购买加油卡有优惠吗
  • 税控软件维护
  • 公司现金支票取现用途怎么填写
  • 当年应收账款无明细科目
  • 劳务分包服务费率
  • 个体户要交国税和地税吗
  • 通讯费可以抵扣进项税吗
  • 年末要计提所得税分录
  • 资本公积提取比例怎么算
  • 企业发给职工的全年一次性奖金不缴纳个人所得税对吗
  • 企业所得税年报更正申报
  • 湖北个体户网上申报
  • 填制和审核凭证是什么意思
  • 偿还借款利息是现金流量什么项目
  • 废品损失账户借方反映
  • 苹果手机miracast在哪里找到
  • 其他应付款的会计分录
  • 商业承兑汇票到期兑现流程
  • 印花税的计税
  • 增值税加计抵减最新政策2022
  • php 语法
  • executor进程
  • 鸿蒙系统怎么开启OTG
  • 债券转让增值税例子
  • 在php中,字符串有哪些表示形式
  • csinject.exe是什么程序的进程 csinject进程是安全的吗
  • 鸟瞰视野
  • 酒店行业存货周转率多少合适
  • 一般纳税企业增值税计算
  • php实现文件上传下载
  • 差旅费误餐补贴标准
  • dtft与dfs
  • 圣米歇尔山法语介
  • 保姆级教程什么意思
  • vue 可拖拽
  • js示例
  • 准确率精确率
  • 给员工期权和给股票的区别
  • 企业所得税是怎么产生的
  • python怎么创建
  • mysql使用ssl连接
  • pythonzen
  • 当月没有发放工资是不是就不用申报个税
  • 数据库关键字有哪些
  • sqlserver、mysql获取连接字符串步骤
  • 资产减值准备如何影响利润
  • 公司给员工发福利图片
  • 个人咨询费发票怎么开
  • 建筑单位工伤缴费标准
  • 营改增适用范围
  • 网吧是个人独资企业还是个体工商户
  • 应交税费应交增值税已交税金怎么用
  • 产成品核算的内容
  • MySQL存储过程与触发器
  • mysql的多表查询语句
  • ubuntu双显卡驱动安装
  • 教你彻底消灭牛身上的蜱虫
  • 打开linux系统
  • w10组策略
  • iptables添加规则立即生效
  • win10系统应用和功能中不能卸载
  • linux系统的安装和常用命令
  • Xcode6 和 Cocos2dx3.1以下版本的不兼容问题
  • easyui控件
  • 在windows下搭建snort和base
  • shell脚本的实现
  • js日历插件
  • android开发菜鸟教程
  • java教程
  • iterator python
  • 12366重庆电子税务局
  • 竣工开始缴房产税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设