Я должен сначала сделать выбор между кодом EF или моделью.
Я не уверен, что является лучшим решением для обеспечения эффективности разработки и самым простым решением для интеграции инфраструктуры IoC.
Сначала я попытался начать с кода, но не смог сделать свойства навигации для использования в качестве IQueryable. Когда я объявляю свойства навигации, я использую ICollection, например:
public class Invoice {
...
public ICollection<LineItem> LineItems { get; set; }
...
}
и
public class LineItem {
...
public Invoice Invoice { get; set; }
...
}
Когда я загружаю Invoice, моя коллекция LineItems пуста из-за отложенной загрузки.
Но когда я загружаю это свойство из базы данных, загружу ли я все LineItems этого счета-фактуры из базы данных, прежде чем я смогу использовать эту коллекцию как IQueryable?
Моя идея состоит в том, чтобы использовать IQueryable, чтобы сделать загрузку базы данных минимально возможной для повышения производительности.
Что я делаю не так? Какова лучшая практика?
Когда я впервые использую базу данных, я могу использовать свои свойства навигации как IQueryable из коробки без написания прокси-классов или оболочек.
Спасибо