Entity Framework CodeFirst For Oracle[转]
说明:1)简单示例 2)非纯粹的CodeFirst,更多的是DbFirst+CodeFirst方式相结合。3)只需用Oracle最新版的ODAC,不需要第三方驱动。4)相应的web.config配置。三步即可。
1. 声明 model, 并手动创建表结构,字段建议大写。
public class PageUser {public virtual string PId { get; set; }public virtual string UId { get; set; }}
2. Model和表 Mapping
public class PageUserMapping : EntityTypeConfiguration<PageUser>{protected string DbSchema { get; set; }public PageUserMapping(): this(null){}public PageUserMapping(string dbSchema){this.DbSchema = dbSchema;Property(c => c.UId).HasColumnName("UID");Property(c => c.PId).HasColumnName("PID");//设置主键 HasKey(c => new { c.UId,c.PId });if (string.IsNullOrEmpty(DbSchema)){ToTable("PAGEUSERS"); //表名 }elseToTable("PAGEUSERS", DbSchema); //Oracle等需要指定Schema,即登陆oracle的用户 }}
3. 继承 DbContext 的类中,重写
public class MContext : DbContext{ protected override void OnModelCreating(DbModelBuilder modelBuilder){base.OnModelCreating(modelBuilder);modelBuilder.Conventions.Remove<ModelNamespaceConvention>();modelBuilder.Conventions.Remove<ModelContainerConvention>();//此处重要modelBuilder.Configurations.Add(new PageUserMapping("TEST"));}} }
到目前为止此为几个关键点,可以 using(var contxt=new MContext()) { ....} 使用了。
另:Web开发,Web.config 配置,当然要引用 Oracle.DataAccess 了。
<system.data><DbProviderFactories><remove invariant ="Oracle.DataAccess.Client" /><add name="Oracle Data Provider for .NET"invariant="Oracle.DataAccess.Client"description="Oracle Data Provider for .NET"type="Oracle.DataAccess.Client.OracleClientFactory,Oracle.DataAccess,Version=4.112.3.0,Culture=neutral,PublicKeyToken=89b483f429c47342,processorArchitecture=x86" /></DbProviderFactories></system.data>
转载自:http://www.cnblogs.com/egood21/archive/2013/02/05/2893436.html
谢谢浏览!
转载于:https://www.cnblogs.com/Music/archive/2013/02/06/entity-framework-codefirst-for-oracle.html
Entity Framework CodeFirst For Oracle[转]相关推荐
- Entity Framework CodeFirst数据迁移
原文:Entity Framework CodeFirst数据迁移 前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是"Database Fi ...
- 初识Entity Framework CodeFirst(2)
上一回合,我们讨论了如何简单的使用Entity Framework CodeFirst功能. 结尾的时候,我们提出了一个有趣的问题,如果我们的数据实体需要发生变化呢?需要添加多一个Model类呢?修改 ...
- Entity Framework Codefirst的配置步骤
Entity Framework Codefirst的配置步骤: (1) 安装命令: install-package entityframework (2) 创建实体类,注意virtual关键字在 ...
- MVC3学习第六章 排山倒海第二变----使用 Entity Framework Code-First 进行数据访问
本章学习内容 1.Entity Framework 4.1介绍 2.Entity Framework Code-First 进行数据访问 3.利用EF实现用户的增加和列表功能 1.Entity Fra ...
- 初识Entity Framework CodeFirst(3)
前两回合,我们讨论学习了如何采用Entity Framework在没有数据库的情况下自己写一些实体类,然后通过CodeFirst反向生成对应的数据库.通过CodeFirst,我们摆脱了edmx文件,没 ...
- Entity Framework CodeFirst尝试
前言 Code First模式我们称之为"代码优先"模式,是从EF4.1开始新建加入的功能.使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模 ...
- ASP.NET MVC5 Entity Framework CodeFirst(代码优先)
第一步 打开VisualStudio2017 Ctrl+Shift+N新建项目 选择ASP.NET Web 应用程序 名称取名为BootstrapIntroduction第二步 项目模板选择MVC 第 ...
- entity framework number类型 oracle,c# – Oracle CHAR数据类型不适用于Entity Framework
我有一个问题是使用WHERE子句从Oracle数据库返回数据,该子句以CHAR列为目标. 我已经提供了以下步骤,这些步骤应该允许重新创建问题: 数据库设置 运行以下SQL以创建数据库表并插入模拟数据: ...
- oracle精简版_使用Entity Framework Core访问数据库(Oracle篇)
前言 哇..看看时间 真的很久很久没写博客了 将近一年了. 最近一直在忙各种家中事务和公司的新框架 终于抽出时间来更新一波了. 本篇主要讲一下关于Entity Framework Core访问ora ...
最新文章
- SDUTOJ 1293 乘积最大的分解(数论)
- 简单介绍python装饰器
- haiyang457 原创软件安装包代表作集合电子书
- python运行程序-一文看懂python程序的执行过程
- 仿QQ6 0侧滑之ViewDragHelper的使用(一)
- 案例 | 新零售如何精细化运营?百联全渠道经验谈
- matlab电机标定,基于模型的电机标定及高精度电机建模
- 草根站长建站需要掌握或者了解的5种技术
- java gui即时聊天工具
- SQL中对一张表同时升序和降序的排序要求
- Linux 上通过 Rhythmbox 听音乐
- C语言 结构体指针强制转换,c中结构体指针的强制类型转换
- 读取文本文件内容并写到excel
- TSC打印机使用教程终极版(转)
- poj3104(二分判断可行性)
- 【Codecs系列】GDR(Gradual Decoder Refresh)帧
- 计算机用户密码无法输入,电脑数字密码输入不了怎么办
- https证书服务器怎么完成部署?
- kaggle竞赛官网注册邮箱验证码收不到
- Active Directory之AD对象
热门文章
- 一步一步学习开发BPM工作流系统--------(一)为什么要开发工作流系统
- 图的基本算法实现(邻接矩阵与邻接表两种方法)
- 用OpenCV建立一幅只有几个像素且值可以自定义的图像,并输出保存到硬盘的方法
- java中 fff_Java:要实现记录当前时间为yyyymmddhhmissfff的时间戳该怎么简单实现呢=。=...
- Golang for range陷阱
- linux存储--inode与block详解(八)
- OVS之vhost-net中VM通信(十)
- mysql服务的基本操作_MySql(一)mysql服务的基本操作及环境配置
- Flask的上下文管理机制
- 不得不爱,Visual Studio Code十大超酷特性