Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQLite作为要在WPF应用程序中使用的项目文件_C#_Wpf_Database_Sqlite_File - Fatal编程技术网

C# SQLite作为要在WPF应用程序中使用的项目文件

C# SQLite作为要在WPF应用程序中使用的项目文件,c#,wpf,database,sqlite,file,C#,Wpf,Database,Sqlite,File,在wpf应用程序中将SQLite用作文件时,最佳做法是什么。 我有一个数据库驱动的应用程序,我想使用SQLite作为每个项目的文件。但我对编程很在行 每次用户创建一个新项目时,应用程序都会创建一个新的数据库文件,其中包含一个可在应用程序中使用的固定表结构,这是否正确 这意味着每个sqlite数据库文件都有一个唯一的名称,应用程序中的所有数据库连接都应该对应于对该文件的读写 现在,我的读写dbmethods分布在几个viewmodels上,我如何动态地进行更改 String dbConnectio

在wpf应用程序中将SQLite用作文件时,最佳做法是什么。 我有一个数据库驱动的应用程序,我想使用SQLite作为每个项目的文件。但我对编程很在行

每次用户创建一个新项目时,应用程序都会创建一个新的数据库文件,其中包含一个可在应用程序中使用的固定表结构,这是否正确

这意味着每个sqlite数据库文件都有一个唯一的名称,应用程序中的所有数据库连接都应该对应于对该文件的读写

现在,我的读写dbmethods分布在几个viewmodels上,我如何动态地进行更改

String dbConnectionString = @"Data Source =projectA.sqlite";

每个都对应于他们希望在应用程序中加载和处理的项目。 我在网上找不到很多关于这件事的信息

也许有人可以向我解释什么是最佳实践,或者如何将sqlite dB用作wpf应用程序的文件

每次用户创建一个新项目时,应用程序都会创建一个新的数据库文件,这是否正确

不可以。只有当你的应用程序每次都为数据库文件选择一个新的文件名时,才会出现这种情况

持有可在应用程序中使用的固定表结构

不一定。在应用程序运行时,可以在一定程度上更改表结构,这也取决于用户输入

这意味着每个sqlite数据库文件都有一个唯一的名称

只有当你积极确保它是独一无二的

应用程序中的所有数据库连接都应该对应于对该文件的读写

仅当您为连接指定上述唯一文件名时。您还可以从应用程序中打开到任何其他更永久/非唯一SQLite文件的连接(甚至一次打开到多个)

现在,我的读写dbmethods分布在几个viewmodels上,我如何动态更改(…)

在应用程序中提供一个全局位置(静态类或中心配置类,其实例将传递给每个模块),该位置从只读属性返回文件名。在所有与DB相关的方法中,使用该属性中的信息,而不是硬编码字符串

String dbConnectionString = @"Data Source =projectB.sqlite";
String dbConnectionString = @"Data Source =projectC.sqlite";