Я хочу знать, когда мы используем ключевое слово virtual с навигационными свойствами (я узнал, что это для ленивой загрузки), но я читаю учебник в https://docs.asp.net/en/latest/data/ef-mvc/intro.html, который создает ядро веб-приложения asp.net, и они больше не используют эту виртуальную машину. Я проверил старые версии (MVC4, MVC5), он всегда присутствует, но не в ядре. Может кто-нибудь объяснить мне, почему? Спасибо заранее.Использование Virtual on navigation properties
ответ
Вы используете виртуальные объекты для объектов, поэтому Entity Framework может создавать прокси-класс во время выполнения, который наследуется от вашего объекта и вводит заглушку в переопределенные свойства. Этот заглушка выполняет вызов базы данных, когда вы получаете доступ к получателю свойства из кода.
Entity Framework Core не поддерживает ленивую загрузку (и, вероятно, никогда не будет), поэтому нет никаких причин для того, чтобы она указывала свойства как виртуальные.
См. Также: Loading Related Data - Entity Framework Core 1.0.0 Documentation в официальной документации, Lazy Loading · Issue #3797 · aspnet/EntityFramework · GitHub на GitHub и Why use 'virtual' for class properties in Entity Framework model definitions? здесь, на переполнение стека.
- 1. Lazy loading navigation properties
- 2. Population Navigation Properties Collection Lazy
- 3. Использование Back on Navigation Bar ошибок UIBarButtonItem
- 4. OData CSV Serialization for Navigation Properties
- 5. VS CodeLens on Properties
- 6. DropDownList DataTextField on Navigation
- 7. Ruby on Rails, View properties
- 8. ViewModel properties null on submit
- 9. Linq Join on Mutliple Properties
- 10. INotifyPropertyChanged-Feature on Auto-Properties
- 11. Mongoose Regex on Virtual Field
- 12. Ruby on rails links, navigation
- 13. Margin on Bootstrap affix navigation
- 14. Ruby on Rails Navigation Helper
- 15. li hover on navigation menu
- 16. FluidMoveBehavior triggering on Back navigation
- 17. Предполагаемое использование Up Navigation
- 18. C# Code First Navigation return Null on Child element
- 19. Linq Navigation Properties complex, где ID в (select id from ...)
- 20. Entity Framework 6 Lazy Loading and Querying Navigation Properties
- 21. Databind Two Properties Использование Linq
- 22. ViewModel properties stay null on HttpPost
- 23. Unity On-Demand Resolve of Interfce Properties
- 24. FlashAir Execute on Write Event Properties
- 25. SoftDeletes on model breaks dynamic properties
- 26. create if conditional on css properties - javascript
- 27. EF Core Group On Nav Properties
- 28. jqgrid virtual scrolling (load on scroll) setup
- 29. Ruby On Rails On Azure Ubuntu Virtual Machines
- 30. jQuery build ul - li navigation on JSON
'вероятно никогда не будет' - Почему? У вас есть источники? – Maarten
@Maarten [дорожная карта упоминает об этом] (https://github.com/aspnet/EntityFramework/wiki/Roadmap), но Роуэн Миллер (и другие, IIRC) упомянули, что они [_ «все еще не определились ...» _ об этом] (https://github.com/aspnet/EntityFramework/issues/3797#issuecomment-158479567). Это не окончательный «нет», но не уверен, что он будет реализован. – CodeCaster