Просто предположение, но как оператор может возвратить пустой указатель - таким образом, он может иметь отношение к фактической реализации эти new SomeObject { ... }
код, так как это - синтаксический сахар. return results.OfType<ISomeTable>();
фильтры на основе типа, таким образом, оператор возврата Вашего метода только возвратит тот тип (гарантирующий безопасность типов). Я столкнулся с подобной проблемой с возвратом универсальных типов.
P.S. Я люблю "Операцию, мог дестабилизировать время выполнения". исключение. Это почти похоже, "Вы могли бы аварийно завершить Интернет" исключение.
Всегда полезно держать столбцы от NULL, если вы можете этого избежать, потому что семантика использования очень запутанная; см. Что такое NULL? для хорошего обсуждения того, как они могут доставить вам проблемы.
В версиях PostgreSQL до 8.2 программное обеспечение не знало, как проводить сравнения на индекс наиболее распространенного типа (b-дерево) таким образом, чтобы он включал поиск в них значений NULL. В соответствующей части документации по типам индексов вы можете увидеть, что это описано как «но обратите внимание, что IS NULL не эквивалентен = и не индексируется». Эффективный недостаток этого заключается в том, что если вы укажете запрос, который требует включения значений NULL, планировщик может быть не в состоянии удовлетворить его, используя очевидный индекс для этого случая. В качестве простого примера: если у вас есть оператор ORDER BY, который можно ускорить с помощью индекса, но ваш запрос также должен возвращать значения NULL, оптимизатор не может использовать этот индекс, потому что в результате будут отсутствовать какие-либо данные NULL - и следовательно, быть неполным и бесполезным. Оптимизатор знает об этом и вместо этого выполнит неиндексированное сканирование таблицы, что может быть очень дорогостоящим.
PostgreSQL улучшил это в версии 8.3 , "
Нет, до тех пор, пока вы на самом деле не храните NULL в таблице, индексы будут выглядеть точно так же (и одинаково эффективно).
Настройка столбец со значением NOT NULL имеет много других преимуществ, поэтому вы должны всегда устанавливать его, если не планируете хранить в нем NULL: -)