Как один раз установить строку подключения Dapper в верхней части приложения? ⇐ C#
Как один раз установить строку подключения Dapper в верхней части приложения?
Я использую Dapper в своем веб-API ASP.NET Core 7.
У меня много функций выглядит так:
public async Task InsertTableObject(TableObject tableObject) { используя соединение var = new SqlConnection(Configuration.GetConnectionString("MyDB")); результат вар = ожидайте соединения.ExecuteAsync( "ВСТАВИТЬ В [table_object] (имя, create_at) ЗНАЧЕНИЯ (@Name, @CreateAt)", таблицаОбъект); вернуть результат; } Каждый раз, когда я открываю новое соединение и передаю строку подключения:
Configuration.GetConnectionString("MyDB") Мне интересно, можно ли сделать это один раз в program.cs и использовать соединение в этих функциях? Я не хочу этого делать:
private только для чтения IConfiguration _configuration; общедоступный YourRepositoryClass (конфигурация IConfiguration) { _configuration = конфигурация; } частный SqlConnection GetOpenConnection() { var Connection = новый SqlConnection(_configuration.GetConnectionString("MyDB")); соединение.Открыть(); обратное соединение; } потому что он просто оборачивает соединение Dapper (вместо этого я хочу настроить использование строки подключения «MyDB»), и каждый раз при использовании класса Dapper SQL он будет считывать данные из конфигурации.
Можно ли это сделать? Что-то вроде:
// program.cs ... Dapper.setConnectionString(Конфигурация["MyDB"]); ... вар приложение = builder.Build(); ... // фу.cs: класс Фу { общедоступная асинхронная задача InsertTableObject (TableObject tableObject) { используя соединение var = new SqlConnection(); // или без нового? Дэппер. Связь? результат вар = ожидайте соединения.ExecuteAsync( "ВСТАВИТЬ В [table_object] (имя, create_at) ЗНАЧЕНИЯ (@Name, @CreateAt)", таблицаОбъект); вернуть результат; } }
Я использую Dapper в своем веб-API ASP.NET Core 7.
У меня много функций выглядит так:
public async Task InsertTableObject(TableObject tableObject) { используя соединение var = new SqlConnection(Configuration.GetConnectionString("MyDB")); результат вар = ожидайте соединения.ExecuteAsync( "ВСТАВИТЬ В [table_object] (имя, create_at) ЗНАЧЕНИЯ (@Name, @CreateAt)", таблицаОбъект); вернуть результат; } Каждый раз, когда я открываю новое соединение и передаю строку подключения:
Configuration.GetConnectionString("MyDB") Мне интересно, можно ли сделать это один раз в program.cs и использовать соединение в этих функциях? Я не хочу этого делать:
private только для чтения IConfiguration _configuration; общедоступный YourRepositoryClass (конфигурация IConfiguration) { _configuration = конфигурация; } частный SqlConnection GetOpenConnection() { var Connection = новый SqlConnection(_configuration.GetConnectionString("MyDB")); соединение.Открыть(); обратное соединение; } потому что он просто оборачивает соединение Dapper (вместо этого я хочу настроить использование строки подключения «MyDB»), и каждый раз при использовании класса Dapper SQL он будет считывать данные из конфигурации.
Можно ли это сделать? Что-то вроде:
// program.cs ... Dapper.setConnectionString(Конфигурация["MyDB"]); ... вар приложение = builder.Build(); ... // фу.cs: класс Фу { общедоступная асинхронная задача InsertTableObject (TableObject tableObject) { используя соединение var = new SqlConnection(); // или без нового? Дэппер. Связь? результат вар = ожидайте соединения.ExecuteAsync( "ВСТАВИТЬ В [table_object] (имя, create_at) ЗНАЧЕНИЯ (@Name, @CreateAt)", таблицаОбъект); вернуть результат; } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение