找了很多,只有這個是正確的做法。。
要開發一個網站,為了布署方便,想使用Sqlite,於是先做個demo試試,本機運行正常了,然後放到伺服器上試,出現問題了“指定的儲存區提供者在配置中找不到,或者無效。”----> "找不請求的.Net Framework資料提供者。可能沒有安裝”。原文是英文,大概是這意思,於是搜了一下,找到這篇文章: http://blog.csdn.net/liufan76/archive/2008/10/29/3173282.aspx
趕緊按方法做,加上這段代碼到web.config中:
< system.data >
< DbProviderFactories >
< 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" />
</ DbProviderFactories >
</ system.data >
果然如文中所說,出現第二個問題:A null was returned after calling the 'GetService' method 意思是說“調用GetService方法返回了空”再看這篇文章的解決方案就煩了,有點不知所云,於是百度這個問題,還好,一找就找到一篇E文的: http://sqlite.phxsoftware.com/forums/p/1349/5793.aspx ,雖說E文不行,不過幸好沒有長篇大論,非常簡單,加上引用“ System.Data.SQLite.Linq”發布到本地就正常運行了。
總結一下:發布的時候要在web.config指定資料提供者,並且把sqlite的相關linq的程式集引入就OK了,伺服器除了framework不需要其它東西,布署還是挺方便的,沒有啥控制許可權的虛擬機器主機也是能用sqlite和ef的。