Нужно ли вставлять контекст Entity Framework в оператор Using?

Я бы сделал

StartDate1.IsBetween(StartDate2, EndDate2) || EndDate1.IsBetween(StartDate2, EndDate2)

Где IsBetween что-то вроде

    public static bool IsBetween(this DateTime value, DateTime left, DateTime right) {
        return (value > left && value < right) || (value < left && value > right);
    }
63
задан Johan Danforth 5 May 2009 в 11:58
поделиться

4 ответа

Если вы создаете контекст, вы должны удалить его позже. Если вы должны использовать оператор с помощью , это зависит от времени жизни контекста.

  1. Если вы создаете контекст в методе и используете его только в этом методе, вам действительно следует использовать , используя , потому что он дает вам обработку исключений без какого-либо дополнительного кода.

  2. Если вы используете контекст в течение более длительного периода, то есть время жизни не ограничено временем выполнения метода, вы не можете использовать используя оператор , и вы должны сами вызвать Dispose () и позаботиться о том, чтобы вы всегда вызывали его.

Что делает Dispose () для контекста объекта

Я не смотрел код,

34
ответ дан 24 November 2019 в 16:01
поделиться

Поскольку вы не знаете, когда сборщик мусора удаляет элемент, всегда полезно обернуть объекты, которые реализуют IDisposable, в блоке использования , если вы знаете, когда вы с этим покончено.

4
ответ дан 24 November 2019 в 16:01
поделиться

Всегда, если вы создаете экземпляр класса, который реализует IDisposable, то вы несете ответственность за вызов Dispose для него. Во всех случаях, кроме одного, это означает с использованием блока .

1
ответ дан 24 November 2019 в 16:01
поделиться

When you dispose, the ObjectContext disposes other owned objects.

Including things like the EntityConnection which wraps the actual database connection, i.e. generally a SqlConnection.

So 'if' the SqlConnection is open it will be closed when you dispose the ObjectContext.

1
ответ дан 24 November 2019 в 16:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: