当前位置: 首页 > news >正文

阜宁建设网站的公司著名外国网站

阜宁建设网站的公司,著名外国网站,企业官网定制,网站开发工作标准虽然EF6都快要出来了#xff0c;但是对于Oracle数据库#xff0c;仍然只能用DB first和Model First来编程#xff0c;不能用Code First真是一个很大的遗憾啊。 好了#xff0c;废话少说#xff0c;我们来看看EF中是如何用DB first和Model First来对Oracle编程的。 首先我们… 虽然EF6都快要出来了但是对于Oracle数据库仍然只能用DB first和Model First来编程不能用Code First真是一个很大的遗憾啊。 好了废话少说我们来看看EF中是如何用DB first和Model First来对Oracle编程的。 首先我们要下载ODP.NET这个数据驱动程序下载链接http://www.oracle.com/technetwork/topics/dotnet/index-085163.html 安装成功后我们在VS连接Oracle数据库时就可以选择ODP.NET了如图 Model First 模型优先是先建立数据模型然后再根据模型生成相应的数据库脚本然后再根据脚本生成数据库。 在项目中新增一个ADO.NET实体模型OracleModel.edmx选择“空模型”再新新建两个实体Destination与Lodging如图 为了看清这两个模型中属性的数据类型我把他们生成的类也贴出来一下 View Code public partial class Destination{public Destination(){this.Lodging new HashSetLodging();}public int DestinationId { get; set; }public string Name { get; set; }public string Country { get; set; }public byte Photo { get; set; }public string Description { get; set; }public virtual ICollectionLodging Lodging { get; set; }}public partial class Lodging{public int LodgingId { get; set; }public string Name { get; set; }public string Owner { get; set; }public bool IsResort { get; set; }public decimal MilesFromNearestAirport { get; set; }public int DestinationDestinationId { get; set; }public virtual Destination Destination { get; set; }} 实体模型的空白处右键-属性在打开的OracleModel模型属性窗口设置一些属性将DDL生成模板改成SSDLToOracle.tt (VS)数据库架构名称改成GYOUNG(这是我自己测试的Oracle数据库的用户名大家可根据自己的更改)数据库生成工作流改成Generate Oracle Via T4 (TPT).xaml (VS) 为了让EF更好的明白.NET中的数据类型与Oracle中数据类型间的对应关系。我们可以将下面的配置文件加到app.config中。 oracle.dataaccess.clientsettingsadd namebool valueedmmapping number(1,0) /add namebyte valueedmmapping number(3,0) /add nameint16 valueedmmapping number(4,0) /add nameint32 valueedmmapping number(9,0) /add nameint64 valueedmmapping number(18,0) //settings/oracle.dataaccess.client 现在我们就可以生成数据库的相应脚本了。 在空白处右键选择“根据模型生成数据库” 然后建立好数据连接如图 点击下一步然后就会生成相应的数据脚本。 View Code -- Creating table Destinations CREATE TABLE GYOUNG.Destinations (DestinationId NUMBER(9,0) NOT NULL,Name NCLOB NOT NULL,Country NCLOB NOT NULL,Photo NUMBER(3,0) NOT NULL,Description NCLOB NOT NULL );-- Creating table Lodgings CREATE TABLE GYOUNG.Lodgings (LodgingId NUMBER(9,0) NOT NULL,Name NCLOB NOT NULL,Owner NCLOB NOT NULL,IsResort NUMBER(1,0) NOT NULL,MilesFromNearestAirport NUMBER(38,0) NOT NULL,DestinationDestinationId NUMBER(9,0) NOT NULL );-- -------------------------------------------------- -- Creating all PRIMARY KEY constraints -- ---------------------------------------------------- Creating primary key on DestinationIdin table Destinations ALTER TABLE GYOUNG.Destinations ADD CONSTRAINT PK_DestinationsPRIMARY KEY (DestinationId )ENABLEVALIDATE;-- Creating primary key on LodgingIdin table Lodgings ALTER TABLE GYOUNG.Lodgings ADD CONSTRAINT PK_LodgingsPRIMARY KEY (LodgingId )ENABLEVALIDATE;-- -------------------------------------------------- -- Creating all FOREIGN KEY constraints -- ---------------------------------------------------- Creating foreign key on DestinationDestinationId in table Lodgings ALTER TABLE GYOUNG.Lodgings ADD CONSTRAINT FK_DestinationLodgingFOREIGN KEY (DestinationDestinationId)REFERENCES GYOUNG.Destinations(DestinationId)ENABLEVALIDATE;-- Creating index for FOREIGN KEY FK_DestinationLodging CREATE INDEX IX_FK_DestinationLodging ON GYOUNG.Lodgings(DestinationDestinationId);-- -------------------------------------------------- -- Script has ended -- -------------------------------------------------- 我们只要将脚本到数据库中执行一下就可以生成相应的表了。分析一下生成的SQL语句有主键外键但并没有为主键设置自增长。Oracle设置自增长也是一个很蛋疼的问题要通过设置相应的Sequences和Triggers来实现习惯了SQL SERVER的IDENTITY对于这个还真不爽。这里我们不管它就自己插入主键好了。下面是测试代码 View Code using (OracleModelContainer context new OracleModelContainer()){var destination new Destination{DestinationId1,Country Indonesia,Description EcoTourism at its best in exquisite Bali,Name Bali};var lodging new Lodging{LodgingId1,OwnerJshon,Name Top Notch Resort and Spa,MilesFromNearestAirport 30,IsResorttrue,Destinationdestination};context.Lodgings.Add(lodging);context.SaveChanges();} 通过VS连接Oracle可以看到数据插入成功。 DB First DB First顾名思义就是在先建好数据库再进行编程。我们新建一个项目就以刚刚生成的那再张表来编程。 在新建项目中添加一个“ADO.NET 实体数据模型”DBModel.edmx选择“从数据库生成” 设置好连接串 选择表 点击完成就会生成相应的模型。 我们来检索一下刚刚插入的数据。 View Code using (Entities context new Entities()){var des context.Destinations.FirstOrDefault();var log context.Lodgings.FirstOrDefault();Console.WriteLine(Lodging Name: log.Name Owner: log.Owner);Console.WriteLine(Destination Name: des.Name Country: des.Country);} 结果如图。 PS在DB First模式中更要将Model First中所说的映射配置文件加入App.config中不然很多数据类型映射会出错。   伪Code First 见我的另一篇博客Entity Framework Code First在Oracle下的伪实现   转载于:https://www.cnblogs.com/Gyoung/archive/2013/02/04/2881747.html
http://wiki.neutronadmin.com/news/111103/

相关文章:

  • 什么作为国内的主要门户网站廊坊住房和城乡建设厅网站
  • 网站开发选择题网站备案填写电话号码
  • 做租凭网站是经营性吗跨境电商平台shopee
  • 哪方面的网站哈尔滨造价工程信息网
  • 网站开发可行性分析报告范文黄页网络的推广
  • 如何将网站添加到信任站点朋友圈广告代理商官网
  • 百度如何建网站国家职业证书查询网入口
  • 网站建设一般是用哪个软件营销网站竞品分析报告
  • 潍坊cms建站系统网络公司网络推广
  • 鱼台做网站多少钱dw个人简历网页制作
  • 制作淘宝网页网站SEO优化网站建设价格
  • 校园招聘网站策划书四川省城乡和住房建设厅网站
  • 笑话网站模板商标设计网上接单第一平台
  • 开鲁网站seo免费版网站建设岗位招聘
  • 网站结构怎么优化微信小程序云开发收费标准
  • 湖北响应式网站建设公司网站一定要备案吗
  • 郑州市城市建设管理局网站基础建设是什么意思
  • 广州网站建设推荐乐云seo最近房地产行情
  • 教育类网站设计阿里云服务器建设两个网站
  • 做寝室介绍网站东莞横沥做网站
  • 雁塔区建设局网站企业推广网
  • 网站如何做提现功能3g门户手机网
  • 林业门户网站建设如何备份网站数据
  • 网站打开速度网站自适应 如何做
  • 网站运营思路网站建设七个步骤
  • 有做网站设计吗wordpress分类目录绑定二级域名
  • 好的公文写作网站企业微信和个人微信的区别
  • 建设网站费用要进固定资产吗班级网站策划书
  • mip网站实例个人备案网站名
  • 网站建设策划书的主要内容公司网站开发的国内外研究现状