Ленивая загрузка теперь доступна на EF Core 2.1
, и вот ссылка на соответствующие документы:
https://docs.microsoft.com/en-us/ef/core/querying/ аффилированные данные # отложенная загрузка
Google Analytics - Позвольте Google или другому стороннему поставщику аналитических услуг сделать это за вас бесплатно. Я не думаю, что вы хотите записывать файлы при каждой загрузке страницы - это потенциально дорого. Другой вариант - хранить информацию в памяти и периодически записывать в базу данных, а не при каждой загрузке страницы.
[EDIT] Это интересный вопрос. Я попросил помощи по этому вопросу о том, что более эффективно - запись в db или запись в файл - там тоже есть хорошие отзывы.
Очевидно, что существуют сторонние статистические службы (Google Analytics, Mint и т. Д.), Но если вы должны делать это самостоятельно, то выполнение записи каждый раз, когда кто-то попадает на страницу, серьезно повлияет ваша БД.
Я бы записал отдельные обращения в промежуточный файл в файловой системе или в memcached, а затем каждые 10-15 минут запускал задачу, которая анализирует эти данные и вставляет их в базу данных.
Если вы просто хотите что-то легко получить, вы можете использовать средство аналитики в реальном времени, например W3 Counter
. Он предоставляет данные в реальном времени (в отличие от Google Analytics) и относительно прост в развертывании (несколько строк в вашем глобальном шаблоне), но может не дать вам желаемой детализации. Я полагаю, это зависит от того, хотите ли вы, чтобы эта информация отображалась программно / использовалась в приложении или в статистических целях.