位置: 编程技术 - 正文

使用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模板加载

  • 个人独资企业是否享受六税两费政策
  • 个人偶然所得税率多少
  • 业务招待费和广告费扣除标准
  • 财务负责人如何解绑
  • 怎么找高新技术企业的数据
  • 实际发放股票股利是什么意思
  • 套期会计新旧准则对比
  • 不动产销售额怎么填
  • 为什么营业成本比营业收入大的时候没有计提减值准备呢
  • 支票存根必须盖银行章吗
  • 进项税额转出怎么算
  • 进项税额计入其他应付款是什么意思
  • 企业股权转让影响利润吗
  • 资本溢价能不能退还股东呢
  • 居民企业只就其境内全部所得纳税
  • 发票限额是多少
  • 慈善机构捐赠
  • 利润表要怎么看
  • 固定资产领用材料进项税处理
  • 增资缴纳印花税的计算公式?
  • 企业所得税免税收入和不征税收入
  • 城市维护建设税的计税依据是什么
  • 固定资产小于500万一次性扣除政策
  • 贷款减值损失的计提规则
  • 收到的支票背书怎么写
  • 库存现金的收支账务处理
  • 工资薪金支出账载金额小于实际发生额
  • 新版edge浏览器兼容性视图怎么设置
  • macqq截图快捷键 保存
  • win11怎么下载手机应用
  • 营运资金主要包括什么
  • ipados15什么时候发布
  • 怎么激活win10专业版
  • 母公司向子公司注入资产
  • 电脑刷新率怎么调低
  • 如何使用php写一个网页
  • php 提交表单
  • 增值税专用发票和普通发票的区别
  • 有限公司股权转让怎么办理流程
  • 资产提前报废需要什么资料
  • Laravel5.* 打印出执行的sql语句的方法
  • php批量更新数据库
  • js如何把字符串转换成数字
  • imx6ul开源项目
  • 长期待摊费用装修款如何摊销
  • 分公司要不要银行开户
  • 价税合计公式分配
  • vue 同局域网访问不到的问题及解决
  • mysql数据库三种复制类型
  • sql server 2005 win10
  • mssqlserver数据能删吗
  • 以前年度损益调整
  • 外贸出口企业如何申报增值税
  • 经营费用是指
  • 海关进口增值税专用缴款书在哪里打印
  • 车辆罚款单可作为费用报销吗
  • 采用公允价值模式计量的投资性房地产不需要计提折旧
  • 项目预验收包括以下哪些内容
  • 企业年度报告中的什么信息由企业选择是否向社会公示
  • 哪些企业执行新的租赁政策
  • iis w3svc
  • 如何更改centos的语言
  • 魔方优化大师是免费的吗
  • 如何让windows7更快
  • linux 禁用root
  • linux网络设置在哪里
  • win10企业版教育版专业版哪个好
  • window10耳机有电流
  • win8任务管理器灰色
  • Unity3D游戏开发毕业论文
  • opengles和vulkan哪个好
  • python的理解
  • 通过Tabs方法基于easyUI+bootstrap制作工作站
  • python抓取软件界面数据
  • javascript数据类型有哪些
  • jquery动态效果
  • angularjs和后端交互
  • javascript none
  • 百旺导入领购的新发票
  • 税务副处级竞争上岗笔试题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设