Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement lazy-loading of navigation properties #10509

Closed
ajcvickers opened this issue Dec 7, 2017 · 6 comments
Closed

Implement lazy-loading of navigation properties #10509

ajcvickers opened this issue Dec 7, 2017 · 6 comments
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-enhancement
Milestone

Comments

@ajcvickers
Copy link
Member

This issue tracks work on lazy-loading of relationships in EF Core. Subscribe to this issue to get updates when progress is made on lazy-loading. This issue is locked for now to reduce noise. Please use issue #3797 for general discussion on lazy-loading in EF Core.

@dotnet dotnet locked and limited conversation to collaborators Dec 7, 2017
@ajcvickers ajcvickers added this to the 2.1.0 milestone Dec 7, 2017
@ajcvickers
Copy link
Member Author

Just to clarify the status on this:

  • We do intend to implement lazy loading in EF Core.
  • There are issues with dynamic proxies and things have moved on considerably since EF4. We ultimately want to instead use Roslyn to re-write assemblies to add appropriate hooks as part of build. This is quite a lot of work, but we feel it will deliver the best experience in the long term.
  • In the short term (hopefully 2.1) we plan to make it easy to configure lazy loading, but it will require some changes to the entity classes to make it work--i.e. it won't be true POCO until the Roslyn work is done.
  • We will try to do all of this using appropriate hooks so that other third-party libraries could implement other types of AOT injections, either through Roslyn or proxies. If you try to do this, but hit roadblocks, then let us know since we may be able to do smaller things to unblock you, or you may be able to submit PRs.

@ajcvickers ajcvickers self-assigned this Dec 7, 2017
@ajcvickers
Copy link
Member Author

Initial lazy-loading PR for 2.1 has been merged: #10624

@ajcvickers ajcvickers modified the milestones: 2.1.0-preview1, 2.1.0 Jan 17, 2018
@ajcvickers
Copy link
Member Author

Initial PR for of a lazy-loading proxies package: #10720

@ajcvickers
Copy link
Member Author

ajcvickers commented Jan 26, 2018

Note for triage: work still to do:

  • Configuration of which entities/properties can be lazy loaded. (As of now it's all or nothing.)
  • Roslyn-based solution
  • Lazy-loading and no-tracking entities
  • Disconnect the lazy-loader on detach, connect on attach
  • Allow property injection
  • Configuration of the constructor/property binding

@ajcvickers
Copy link
Member Author

Triage notes: for 2.1 we will try to do:

  • Lazy-loading and no-tracking entities
  • Disconnect the lazy-loader on detach, connect on attach
  • Allow property injection

Other items will be post 2.1 and are tracked by #10787 #10788 #10789

@ajcvickers
Copy link
Member Author

Notes from triage:

@ajcvickers ajcvickers added the closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. label Feb 10, 2018
@ajcvickers ajcvickers modified the milestones: 2.1.0-preview2, 2.1.0 Nov 11, 2019
@ajcvickers ajcvickers removed their assignment Sep 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-enhancement
Projects
None yet
Development

No branches or pull requests

1 participant