ef to sqlite 實際開發問題終極解決方法


  1. 版本問題
  2. vs安裝問題
  3. x64/x86 發布問題

    針對開發中遇到的問題,通過一下方法解決:

1.sqlite下載地址http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki,我的開發環境是 win8.1 x64 vs2010 ,下載sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.93.0.zip,不要下載1.0.66.0版本的。不管新舊版本在開發中都會有問題。發布時也有問題。這些問題會在下面解決。
2.最好是用vs2010,vs2012在開發中遇到了很多的問題,短時間內無法解決。安裝后,直接使用dbfirst新建edmx文件。但是你的數據庫中如果有nvarchar2的字段,在影射屬性的時候,會出現無法識別的異常。

3.解決此問題的方法就是,先把數據庫字段類型改成varchar,生成edmx文件后,再改成nvarchar2類型。我是通過sql新建了一個數據庫,生成的文件。
對官方的技術人員真是無語。
x64/x86 發布問題。
參照文章http://www.tuicool.com/articles/eAjeMb,但是在實際操作中,花費很長時間,根本無法實現。最終換用了文章中使用的版本,在不同的系統中測試通過。再次對官方無語。

 

相關插件下載

鏈接: http://pan.baidu.com/s/1dDDypah 密碼: h715

 

配置文件代碼

    <system.data>
        <DbProviderFactories>

            <!--ORACLE 驅動配置-->
            <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.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />

            <!--SQLite驅動配置-->
            <remove invariant="System.Data.SQLite" />
            <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.90.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />

        </DbProviderFactories>
    </system.data>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
    </startup>

上面是oracle的。因為在系統中是動態使用sqlite數據庫的,所以沒有配置,而是動態的創建。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM