- Some stubbing out of DataStore API, EntityEntry, EntityState.
- More migrations infra and early work on relational store model.
- Improvements to Check, CodeAnnotations
This change creates read-only interfaces for metadata which can be implemented in different ways for different purposes. One proposed implementation is a compiled form of metadata that can be created by Rosyln when the application assembly is built. A hand-coded version of this is checked in to the functionals with infrastructure types added to the product to support this. This is used to verify the pay-per-play memory use of the compiled metadata.
Also included here are:
- Some initial moves in the direction of shadow state
- No longer caching PropertyInfos
- Annotations are restricted to strings for now. We have ideas for handling other types, but we should wait to see if they are needed
- After discussion Entity is renamed to EntityType
- Model no longer has Name/StorageName
- DataStore abstraction for stores
- EntityConfiguration, a configuration model and EntityContext factory.
- EntityServices, a static default IServiceProvider factory, matching the current K standard pattern
- ConsoleLoggerFactory, an impl. of ILoggerFactory
This is the API surface required to build the version of Music Store checked in. No implementation as yet, and some things (like Database.Create) will likely change.