Я бы сделал
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);
}
Если вы создаете контекст, вы должны удалить его позже. Если вы должны использовать оператор с помощью
, это зависит от времени жизни контекста.
Если вы создаете контекст в методе и используете его только в этом методе, вам действительно следует использовать , используя
, потому что он дает вам обработку исключений без какого-либо дополнительного кода.
Если вы используете контекст в течение более длительного периода, то есть время жизни не ограничено временем выполнения метода, вы не можете использовать используя оператор
, и вы должны сами вызвать Dispose ()
и позаботиться о том, чтобы вы всегда вызывали его.
Что делает Dispose ()
для контекста объекта
Я не смотрел код,
Поскольку вы не знаете, когда сборщик мусора удаляет элемент, всегда полезно обернуть объекты, которые реализуют IDisposable, в блоке использования , если вы знаете, когда вы с этим покончено.
Всегда, если вы создаете экземпляр класса, который реализует IDisposable, то вы несете ответственность за вызов Dispose для него. Во всех случаях, кроме одного, это означает с использованием блока .
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.