#### to do
##### fundamentals (41)
* connection strings
  * V 001 exemple avec une connection string dans OnConfiguring
  * ? 002 exemple avec une connection string dans AppConfig ou équivalent ?
  * ? 003 le même avec SecretManager pour les mots de passe ?
* ? 005 connection resiliency ?
* V testing
  * V 004 SQLite in memory
  * V 004 InMemory
* ? configuring a dbcontext ?
* ? nullable reference types => navigating (include, theninclude)
##### creating a model (42)
* V 001, 002, 003 entity types, entity properties
* V 004, 005, 006 keys, 007 generated values
* ? backing fields?
* V 008, 009 seeding data
* ###### relationships
  * V 010, 011 shadow properties
  * V 010, 011, single navigation property
  * cascade delete
  * V 012 013 one to one
  * 014 015 one to many
  * many to many
  * dictionaries
  * 012 013 foreign key
  * required and optional relationships
  * indexes?
* ###### inheritance
  * TPH
  * discriminator configuration
  * shared columns
* ? sequences?
* value conversion
* entity type constructors
* ? table splitting and table sharing?, owned types?
* ? keyless entity types?
* ? alternating model with same DbContext?
* ? spatial data?
##### managing database schemas + migrations (43)
* migrations
* create and drop APIs
* ? reverse engineering?
##### querying data: LINQ to SQL (44)
* loading all entity, loading a single entity, filtering
* client vs. server evaluation
* tracking vs. no-tracking
* complex query operators (join, groupjoin, selectmany, groupby, leftjoin)
* ###### loading related data (include, theninclude...)
  * eager loading
  * explicit loading
  * lazy loading
  * ? related data and serialization?
* ? asynchronous queries?
* ? raw sql queries?
* ? global query filters?
* ? query tags?
* how queries work
##### saving data (44)
* basic save (adding, removing, updating, multiple changes)
* related data (a graph of new entities, a related entity, changing or removing relationships)
* cascade delete
* concurrency conflicts
* transactions (TransactionScope ?)
* ? asynchronous saving?
* ? disconnected entities?
* ? setting explicit values for generated properties?
##### database providers (45)
* microsoft sql server
* sqlite
* cosmos?
* inmemory (for testing)
##### optional
* logging
* supported .NET implementations