程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 動刀EFOracleProvider,使其支持char、timestamp(x)等類型

動刀EFOracleProvider,使其支持char、timestamp(x)等類型

編輯:關於ASP.NET

之前在一個使用SqlServer數據庫的項目中使用過SubSonic,感覺挺好,沒遇到什麼問題。

於是在上一個網站毫不猶豫的也選擇了Subsonic2.1,可這次很失望。SubSonic2.1 to Oracle11並不 像對SqlServer的支持那麼好,很多時間,忙於給Subsonic補漏。

這次,想改用ADO.NET EF + EFOracleProvider。

關於EFOracleProvider的使用介紹可以參考一下這裡:

1.ADO.NET Entity Framework支持多Provider

2.Using EF Oracle Sample Provider with EDM Designer

可是剛開始就遇到問題,在使用Edmgen.exe生成模型時,提示char和timestamp(x)類型不支持!

無奈,要動刀了。

還好,EfOracleProvider的代碼不多,不用多久就找到了陣眼。

EfOracleProvider/Resources/EFOracleProviderManifest.xml,在這個文件中聲明了Oracle字段 和.net數據類型的映射關系。

打開此文件,添加一段:

<Type Name="char" PrimitiveTypeKind="String">
     <FacetDescriptions>
        <MaxLength Minimum="1" Maximum="4000" DefaultValue="4000" Constant="false" />
        <Unicode DefaultValue="false" Constant="true" />
        <FixedLength DefaultValue="true" Constant="true" />
     </FacetDescriptions>
    </Type>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved