我创建了这个接口用于将数据存储在文件中:
interface IFileStore {
bool Import(string);
string Export();
}
...以及实现该接口的通用类:
class DBTextFile<T> where T : IFileStore, new ()
{
public List<T> db = new List<T>();
public void SaveFile(string filename)
{
foreach(T d in db) File.WriteToFile(d.Export(), filename);
}
public void RestoreFile(string filename)
{
db = new List<T>();
string buffer;
while(buffer = File.Read(filename) != null)
{
T temp = new T();
if(temp.Import(buffer)) db.Add(temp);
}
}
}
这种方法已经为我工作了一段时间。但是,我发现我不得不管理太多文件。我认为使用我的每个文件都将成为该数据库中的表的数据库可能更合适。
我想使用一个不需要用户在用户系统上安装任何软件的数据库。(我想让用户的事情变得简单。)基本上,我只想要一个对我(开发人员)来说易于使用和部署的数据库。
MySQL会是一个不错的选择吗?或者不同的数据库是否更适合我的需求?