大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – 实体框架SQLite部署,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
但是,将Web应用程序部署到我的服务提供商会导致此错误:
[Argumentexception: Unable to find the requested .Net Framework Data Provider. It may not be installed.] System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +1308959 System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +35
服务提供商评论说他们不支持sqlite.我曾经认为sqlite独立于服务提供商的设置,因为它可以部署App_Data.
有没有成功的实体框架sqlite部署的经验?
干杯,
-pom-
<configuration> <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> </configuration>
具体来说,如果您在链接到您网站的库中使用SQLite,则必须将其添加到网站的配置文件中 – 而不是库中!这是因为您正在加载提供程序:实际上,您在运行时使用字符串“System.Data.sqlite”确定要加载哪个dll,并使用条目程序集的设置来定位相应的提供程序.
编辑:顺便说一下,当你编写具有sqlite依赖性的库时,你可以避免这种复杂性.您不需要使用DbProviderFactories在运行时查找sqlite;您也可以采用编译时依赖性,这样可以更容易管理.然后你可以忽略上面的app.config部分,而是替换所有的实例:
DbProviderFactories.GetFactory("System.Data.sqlite").CreateConnection()
同
System.Data.sqlite.sqliteFactory.Instance.CreateConnection()
如果这样做,则使用普通库调用来创建连接,并且没有运行时选择的数据库提供程序.这可能不太灵活,因为您不能再通过配置文件交换数据提供程序,但对于许多足够的库来说.不幸的是,如果你不控制库代码,这不是一个选项.
以上是大佬教程为你收集整理的asp.net-mvc – 实体框架SQLite部署全部内容,希望文章能够帮你解决asp.net-mvc – 实体框架SQLite部署所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。