Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Вопрос по поводу подключений к БД через using  [new]
D_A_S1
Member

Откуда: Волгоград
Сообщений: 638
Добрый день!
Подскажите, пожалуйста.

У меня есть вот метод, который заполняет объекты класса:
using (var connection = DBModule.NewSqlConnection())
{
     var sql ="SELECT * FROM requestTransactions WHERE isDeleted = 0";
     return connection.Query<RequestTransaction>(sql).ToList();
}


Класс RequestTransaction имеет следующее:
public class RequestTransaction
{
           [Key]
           public int id { get; set; }

          [Write(false)]
          public string fromOffice =>  this.fromOfficeId != null ? Office.GetById(this.fromOfficeId ?? 0)?.nameOffice : "";

}


Класс Office имеет следующее:
public class Office
{
       public static Office GetById(int id) {
            using (var connection = DBModule.NewSqlConnection())
            {
                var sql = "SELECT * FROM dic_company_offices WHERE id = @id";
                return connection.QueryFirstOrDefault<Office>(sql, new { id });           
            }
        }

}


У меня вопрос: первоначальный метод использует свое подключение и заполняет список RequestTransaction. У каждого объекта RequestTransaction нужно определить офис, для этого используется метод, где также идет открытие своего подключения к БД.
В таком случае будут ли корректно закрываться соединения? Получается что одно соединение вложено в другое
16 авг 18, 14:27    [21644546]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поводу подключений к БД через using  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5185
D_A_S1
Получается что одно соединение вложено в другое

С чего бы вдруг? Свойство fromOffice помечено атрибутом [Write(false)], оно не затрагиватся при выполнении Query<T> - метод Office.GetById будет выполняться только при чтении свойства fromOffice, чего при выполнении Query<T> не произойдет.
Ну, это уже не говоря о том, что в общем случае во вложенных коннектах нет ничего ужасного и фатального.
16 авг 18, 14:56    [21644600]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить