久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Entity Framework6 with Oracle(可實(shí)現(xiàn)code first)

 _明心見(jiàn)性_ 2017-11-10

  Oracle 與2個(gè)月前剛提供對(duì)EF6的支持。以前只支持到EF5,。EF6有很多有用的功能 值得升級(jí),。這里介紹下如何支持Oracle


  一.Oracle 對(duì).net支持的一些基礎(chǔ)知識(shí)了解介紹,。


1.早年的時(shí)候,微軟自己做的有 System.Data.OracleClient。 現(xiàn)在已經(jīng)成了過(guò)期類了,。性能等都不是很好,。


2.Oracle 官方出的odp.net  Oracle.DataAccess.dll(非托管版本) 還要分32/64位。而且很麻煩的是 部署的時(shí)候 需要裝客戶端環(huán)境,。非常繁瑣,。


3.Oracle 官方近年新出的  Oracle.ManagedDataAccess.dll  這個(gè)非常給力 不再區(qū)分32/64位了。 而且不需要客戶端再安裝東西了,。性能也得到了提高,。不管是用ado.net或者其他ORM框架


   都建議使用此版本dll。這次我們的EF6 也會(huì)依據(jù)此dll進(jìn)行開(kāi)發(fā),。 


官方下載地址是這個(gè) 一定要去官方下載最新的 才能支持EF6  我從nuget上下的版本較低 不支持,。。


http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html  (當(dāng)時(shí)下載的版本為4.121.2.0)


下載好后  從這個(gè)目錄下 odp.net\managed\common  拿出2最關(guān)鍵的dll


Oracle.ManagedDataAccess.dll 和 Oracle.ManagedDataAccess.EntityFramework.dll  


  二.修改webconfig配置文件


加入如下代碼:


復(fù)制代碼

 <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <!--<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />-->  
  </configSections>

  <entityFramework>
    <defaultConnectionFactory type="Oracle.ManagedDataAccess.EntityFramework.OracleConnectionFactory,
Oracle.ManagedDataAccess.EntityFramework,
Version=6.121.2.0,
Culture=neutral,
PublicKeyToken=89b483f429c47342" />
    <providers>
      <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
     
    </providers>
  </entityFramework>

  <system.data>
    <DbProviderFactories>
      <remove invariant="Oracle.ManagedDataAccess.Client" />
      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver"
          type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </DbProviderFactories>
  </system.data>

復(fù)制代碼

 


連接字符串如下 記得提供下 providerName 為 Oracle.ManagedDataAccess.Client


復(fù)制代碼

 <connectionStrings>

    <add name="OraString" connectionString="Data Source= (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = *****)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  );User ID=*****;Password=*****;Persist Security Info=True" providerName="Oracle.ManagedDataAccess.Client" />

  </connectionStrings>

復(fù)制代碼

 


 


這里還有個(gè)注意事項(xiàng),因?yàn)橛械娜艘约把b了oracle的客戶端,。這可能會(huì)導(dǎo)致一些錯(cuò)誤,。這里 請(qǐng)注意檢查下  C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config


下的  machine.config (64位的話 路徑是 Framework64,最好都檢測(cè)下)


machine.config 可以理解為webconfig的父類 所以我們需要檢查下里面的內(nèi)容  是否有



 <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />


 


 這樣的內(nèi)容   如果有  修改版本號(hào)Version 為當(dāng)前Oracle.ManagedDataAccess.Client版本。 


 


三.注意事項(xiàng)


1.訪問(wèn)時(shí)提示表不存在,,有可能權(quán)限不夠,。需要設(shè)置默認(rèn)的Schema 需要在 OnModelCreating設(shè)置


 modelBuilder.HasDefaultSchema(“Schema名”);


2.oracle 的配置是否配置了使用ora方式來(lái)訪問(wèn)。 建議先不使用ora方式,有可能是這個(gè)方式訪問(wèn)導(dǎo)致的問(wèn)題,。


3.oracle 訪問(wèn)的問(wèn)題 一定多去官網(wǎng)看下,。


  推薦幾篇


  http://docs.oracle.com/cd/E56485_01/win.121/e55744/toc.htm


   http://docs.oracle.com/cd/E56485_01/win.121/e55744/entityMigrate.htm#BABEHEFE


 


 


http://www.cnblogs.com/wlflovenet/p/4187455.html       轉(zhuǎn)載請(qǐng)注明出處             

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多