WPF实现数据库操作与日志记录

时间:2025-05-05 16:06:35

1. 数据库操作实现

1.1 数据库连接基类

public abstract class DatabaseBase : IDisposable
{
    protected string ConnectionString { get; }
    protected IDbConnection Connection { get; private set; }
    
    protected DatabaseBase(string connectionString)
    {
        ConnectionString = connectionString;
    }
    
    public void OpenConnection()
    {
        if (Connection == null)
        {
            Connection = CreateConnection();
        }
        
        if (Connection.State != ConnectionState.Open)
        {
            Connection.Open();
        }
    }
    
    public void CloseConnection()
    {
        Connection?.Close();
    }
    
    public void Dispose()
    {
        CloseConnection();
        Connectio