Как открыть SQLConnection для всего приложения, если для авторизации использую логин и пароль для подключения к SQL server?

Ваш вопрос касается открытия SQLConnection в приложении C# с использованием логина и пароля для подключения к SQL Server.

Для открытия SQLConnection для всего приложения вам необходимо создать класс-синглтон (Singleton), который будет отвечать за создание и управление подключением к базе данных.

Начнем с создания класса Singleton, который будет обеспечивать единственный экземпляр класса и гарантировать доступ к нему из любой части приложения. Обычно для этого используется приватный статический член класса, который будет хранить единственный экземпляр класса.

public sealed class DatabaseConnection
{
    private static readonly Lazy<DatabaseConnection> instance = new Lazy<DatabaseConnection>(() => new DatabaseConnection());
    private readonly SqlConnection connection;

    private DatabaseConnection()
    {
        // Инициализация подключения к базе данных
        string connectionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=Username;Password=Password";
        connection = new SqlConnection(connectionString);
    }

    public static DatabaseConnection Instance
    {
        get { return instance.Value; }
    }

    public SqlConnection Connection
    {
        get { return connection; }
    }
}

В этом примере мы использовали паттерн Singleton с использованием статического свойства и ленивой инициализации экземпляра класса.

В конструкторе класса, вы должны инициализировать подключение к базе данных, используя логин и пароль, предоставленные вами. Замените "ServerName", "DatabaseName", "Username" и "Password" на соответствующие значения для вашего SQL Server и учетных данных.

Теперь вы можете получить доступ к экземпляру DatabaseConnection из любого места в вашем приложении. Например:

DatabaseConnection connection = DatabaseConnection.Instance;
SqlConnection sqlConnection = connection.Connection;

// Используйте sqlConnection для выполнения запросов к базе данных

Теперь у вас есть единое подключение к базе данных, которое может быть использовано в разных частях вашего приложения.