Я только что добавил столбец IsValidRecord в таблицу MyClass SQL.Он будет использоваться как логическое удаление / мягкое удаление.Теперь мне нужно обновить приложение, чтобы запрашивать только действительные записи на основе нового столбца.
Сначала я использую Entity Frameword DB.Наше приложение использует бизнес-уровень, который централизует все методы, выбирающие элементы MyClass.Поэтому я обновил все методы, которые запрашивают соответствующую таблицу, с помощью соответствующего фильтра на основе IsValid.Он отлично работает.
Однако я вполне уверен, что это плохие практики, потому что разработчики забудут установить этот фильтр для новых методов, которые будут добавлены в будущем, что, очевидно, приведет к неправильным записям.
Интересно, будут ли в EF функции автоматической фильтрации запросов с помощью соответствующего фильтра "AND IsValid = 1"?
Раньше я работал в компании, которая делает то же самое с NHibernate.
Единственная поддерживаемая функция, которую я видел для EF, это: Мягкое удаление К сожалению, он перезаписывает OnModelCreating, поэтому я считаю, что он работает только для архитектуры Code First.Сначала мы используем базу данных, поэтому я думаю, что она не работает, так как OnModelCreating никогда не вызывается?