os.stat
действительно включает время создания. Нет только никакого определения st_anything для элемента os.stat()
, который содержит время.
Так пробуют это:
os.stat('feedparser.py')[8]
Сравнивают это с Вашим создавать дату на файле в ls-lah
, Они должны быть тем же.
AsQueryable просто создает запрос, инструкции, необходимые для получения списка. Позже вы можете внести дальнейшие изменения в запрос, например, добавить новые предложения Where, которые будут отправлены полностью вниз на уровень базы данных.
AsList возвращает фактический список со всеми элементами в памяти. Если вы добавите к нему новый ключ Where, вы не получите быстрой фильтрации, которую предоставляет база данных. Вместо этого вы получаете всю информацию в списке, а затем отфильтровываете то, что вам не нужно в приложении.
Таким образом, в основном все сводится к ожиданию последнего возможного мамы, прежде чем брать на себя обязательства.
Возврат IQueryable
имеет то преимущество, что выполнение будет отложено до тех пор, пока вы действительно начните перечисление результатов, и вы можете составить запрос с другими запросами и по-прежнему получить выполнение на стороне сервера.
Проблема в том, что вы не можете контролировать время жизни контекста базы данных в этом методе - вам нужен открытый контекст и вы должны убедиться, что он остается открытым до тех пор, пока запрос не будет выполнен. И затем вы должны убедиться, что контекст будет удален. Если вы вернете результат как List
, T []
или что-то подобное, вы теряете отложенное выполнение и выполнение составных запросов на стороне сервера, но получаете контроль над временем существования контекста базы данных.
Что лучше всего подходит, конечно, зависит от реальных требований. Другой вопрос без единой правды.
Возвращение IQueryable
отложит выполнение запроса до фактического использования его результатов. До этого момента вы также можете выполнять дополнительные операции запросов к базе данных на IQueryable
; в списке
вы ограничены обычно менее эффективными операциями в памяти.