Ejemplo n.º 1
0
        protected virtual RuntimeModel Create(IModel model)
        {
            var runtimeModel = new RuntimeModel();

            runtimeModel.SetSkipDetectChanges(((IRuntimeModel)model).SkipDetectChanges);
            ((IModel)runtimeModel).ModelDependencies = model.ModelDependencies !;

            var entityTypes     = model.GetEntityTypesInHierarchicalOrder();
            var entityTypePairs = new List <(IEntityType Source, RuntimeEntityType Target)>(entityTypes.Count);

            foreach (var entityType in entityTypes)
            {
                var runtimeEntityType = Create(entityType, runtimeModel);
                entityTypePairs.Add((entityType, runtimeEntityType));

                foreach (var property in entityType.GetDeclaredProperties())
                {
                    var runtimeProperty = Create(property, runtimeEntityType);
                    CreateAnnotations(property, runtimeProperty, static (convention, annotations, source, target, runtime) =>