C# .NET entity下sqlite部署问题

找了很多,只有这个是正确的做法。。

要开发一个网站,为了布署方便,想使用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的。

posted @ 2012-04-09 17:00  一修先生  阅读(3159)  评论(7编辑  收藏  举报