使用相同对象实例的c#多表单应用程序

本文关键字:表单 应用程序 实例 对象 | 更新日期: 2023-09-27 18:13:00

我有多个表单需要与数据库通信。我有一个嵌入式数据库sqlite,只需要一个dll文件。主表单创建SQLite对象

using System.Data.SQLite;
...
public  SQLiteConnection sqlite_conn;
public  SQLiteCommand sqlite_cmd;
public  SQLiteDataReader sqlite_datareader;

,稍后在代码中初始化。我的问题是,如果我有多个表单需要与数据库通信,是更好的做法给他们using System.Data.SQLite和创建自己的对象实例或以某种方式使用相同的对象从多个表单,而不是在同一时间…

使用相同对象实例的c#多表单应用程序

这些类不是线程安全的,所以你不能一次实例化它们,并在同时可见(或者更准确地说,访问数据库)的表单之间共享它们。

如果你觉得你在到处复制代码,把代码放在一个类中并参数化它,这样你就可以把这个类的实例注入到所有需要它的表单中。

也许你可以使用实体框架,它可以帮助删除数据库代码。