我需要使用 WPF 应用程序部署 SQLite 文件。
- 部署技术是ClickOnce。
- 包含实体框架以使用数据库。
我想列出一个在部署包含 SQLite 数据库文件的应用程序时必须考虑的事项。
到目前为止,我已经引用并将Copy Local 设置为 True用于:
- System.Data.SQLite
- System.Data.SQLite.Linq
.并且我有两个互操作,其中复制到输出目录我保留为默认复制始终
- SQLite.Interop.dll (x86)
- SQLite.Interop.dll (x64)
在 app.config 文件中,我有:
<applicationSettings>
<MyApp.MySettings>
<setting name="connStrSQLite" serializeAs="String">
<value>data source="C:\MyFolder\MySQLiteFile.sqlite3"</value>
</setting>
</MyApp.MySettings>
</applicationSettings>
和
<connectionStrings>
<add name="MyEntities" connectionString="metadata=res://*/Model.ORM.MyModel.csdl|res://*/Model.ORM.MyModel.ssdl|res://*/Model.ORM.MyModel.msl;provider=System.Data.SQLite;provider connection string='data source="C:\MyFolder\MySQLiteFile.sqlite3"'" providerName="System.Data.EntityClient" />
</connectionStrings>
我想在 app.config 中的路径不适用于已部署的应用程序,因为它们现在指的是我的本地文件夹。 如何修改它们?
然后,我从这里检查了.net 应用程序的 SQLite 部署,是否应将以下内容添加到 app.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>
还要别的吗?