asp.net-mvc – 实体框架SQLite部署
我有一个ASP.NET MVC应用程序,通过实体框架使用SQLite数据库.
一切都适用于VS 2008的本地开发网络服务器. 但是,将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部署的经验? 干杯, 解决方法
您不太可能再次阅读此内容,但您在app.config(或者,对于您,web.config)中缺少以下内容:
<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在运行时查找sql??ite;您也可以采用编译时依赖性,这样可以更容易管理.然后你可以忽略上面的app.config部分,而是替换所有的实例: DbProviderFactories.GetFactory("System.Data.SQLite").CreateConnection() 同 System.Data.SQLite.SQLiteFactory.Instance.CreateConnection() 如果这样做,则使用普通库调用来创建连接,并且没有运行时选择的数据库提供程序.这可能不太灵活,因为您不能再通过配置文件交换数据提供程序,但对于许多足够的库来说.不幸的是,如果你不控制库代码,这不是一个选项. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – Visual Studio开发服务器使用错误的端口
- asp.net – 关闭单个字段的输入验证
- ASP.NET Core Identity 实战(1)——Identity 初次体验
- ASP.NET – 使用WCF Web服务绑定w / AD组的IIS7部署错误500
- WPF和MVC是相同的概念吗?
- 为Asp.Net MVC中的特定Controller或Action启用SSL客户端证书
- asp.net-mvc – 可以将NUnit集成到Visual Studio 2010中吗?
- asp.net-mvc-4 – 检查组是否为空SignalR?
- asp.net-mvc – 在DropDownList中验证所需的选择
- 有AsIFnet标记的#IF DEBUG吗?
- asp.net – 在执行计时器滴答功能时避免回发
- asp.net – 使用Ajax,在服务器或客户端生成额外的
- asp.net-mvc – .OTF字体未部署到Azure
- asp.net-mvc-4 – 如何在ASP.NET MVC 4中从数据库
- asp.net-mvc – MVC和RadioButtonList
- asp.net-mvc – MVC(ASP.NET MVC)乐队3层架构如何
- asp.net – 休闲网站的密码规则
- 如何从ASP.NET MVC中的某些操作的Authorize Attr
- 构建发布版混合ASP.Net和.Net Standard 2.0项目的
- asp.net-mvc-4 – 如何防止复杂类型的默认绑定器