Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upDocument EF Core architecture and internal technical details #1920
Comments
This comment has been minimized.
This comment has been minimized.
|
@aspnet/efteam Please add anything with internals that it might be worth documenting. I would rather have too many things on this list and then trim it, so treat this as brainstorming list--no bad ideas! |
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
I'm not sure if this counts as "internals" but after EF Core 3.0, satisfying the query compiler to run the code on the server-side has been really time consuming. I don't argue the benefits of the change but it's not a straightforward process. I wish there was a documentation comparing client-side running queries with equivalent server-side running ones. |
This comment has been minimized.
This comment has been minimized.
|
It would be great to see how the major patterns were implemented (or not) in EF - identity map, data mapper, repository, unit-of-work, lazy loading, association table mapping, metadata mapping, query object etc.. |
This comment has been minimized.
This comment has been minimized.
|
I in general agree with @ssg , but I want to see how do you generate SQL from different kind of queries. All releases of EF Core starting from betas has changes which require rewriting of the queries to satisfy new version. Expecially many issues I see withing queries which involve GROUP BY or other aggregate functions. If you explain how do you generate SQL using your internal model, it would be easier to write LINQ which will conform to your expected set of queries. |
This comment has been minimized.
This comment has been minimized.
|
Also what is TPT, TPH, TPC and PMC ? It is not very clear. |
This comment has been minimized.
This comment has been minimized.
table per type, table per hierarchy, table per concrete class - most O/RMs support these inheritance mapping strategies, maybe under different names.. |
This comment has been minimized.
This comment has been minimized.
|
Thanks, I get it. I decipher TPT and PMC myself, but other abbreviations not very often I see in MS documentation (or maybe communication better to say). So that's why I ask. Maybe I'm not alone in that. |
This comment has been minimized.
This comment has been minimized.
|
To make it easier for contributors and provider authors to understand the code.
Please comment on this issue with internal areas you would like to see documented.
Working list of possible topics to document. This list will evolve in the issue as we make progress. Not everything in the list will necessarily make it to documentation--it will depend on value, resources, etc. as usual.