Как я пишу даты модификации файла программно в POSIX?

Я попытался вызвать db.savechange () после завершения рекурсии, но безуспешно.

SavingChanges () сразу предполагает улучшить производительность приложения вместо того, чтобы делать изменения для каждого дочернего элемента. Это не имеет смысла. На рекурсивном вы должны только изменить состояние объекта на измененное. Также вы можете отключить отслеживание изменений.

Configuration.AutoDetectChangesEnabled = false;
context.Entry(entity).State = EntityState.Modified;

Кроме того, вы должны получать все данные из базы данных одновременно. На рекурсивном не стоит идти в базу данных. Это не лучшая практика.

9
задан Eddie 16 March 2009 в 19:02
поделиться

3 ответа

Я думаю, что Вы хотите utime(2). Это должно быть достаточно:

utime(filename, NULL);

В документах говорится:

int utime(const char *filename, const struct utimbuf *times);

[...]

utime () системный вызов изменяет времена доступа и время изменения inode, указанного именем файла к actime и modtime полям времен соответственно.

Если времена NULL, затем времена доступа и время изменения файла установлены на текущее время.

8
ответ дан 4 December 2019 в 09:38
поделиться

utimes (), вероятно, как сделать это. utime () является устаревшим.

Вещи как это тривиальны для определения инструментов использования как strace.

strace touch -t 01010911 xxx
.
.
open("xxx", O_WRONLY|O_NONBLOCK|O_CREAT|O_NOCTTY|O_LARGEFILE, 0666) = 0
utimes("/proc/self/fd/0", {1230829860, 0}) = 0
11
ответ дан 4 December 2019 в 09:38
поделиться

Я думаю, что необходимо посмотреть на utime ()/utimes () системный вызов. Не в моем нормальном компьютере, таким образом, я не могу искать детали, я боюсь.

1
ответ дан 4 December 2019 в 09:38
поделиться
Другие вопросы по тегам:

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