public SchemaStore GetStore(DotNotation notation = null, IEnumerable <object> contracts = null)
        {
            BindingMetadataBuilder   bindingBuilder   = new BindingMetadataBuilder();
            ReferenceMetadataBuilder referenceBuilder = new ReferenceMetadataBuilder();
            TableMetadataBuilder     tableBuilder     = new TableMetadataBuilder();

            SchemaStore store = new SchemaStore(notation ?? new DotNotation(), bindingBuilder, referenceBuilder, tableBuilder);

            if (contracts != null)
            {
                foreach (var contract in contracts)
                {
                    if (contract is IRelationContractResolver relationResolver)
                    {
                        store.Use(relationResolver);
                    }

                    if (contract is IBindingContractResolver bindingResolver)
                    {
                        store.Use(bindingResolver);
                    }

                    if (contract is ITableContractResolver tableResolver)
                    {
                        store.Use(tableResolver);
                    }
                }
            }

            return(store);
        }
Beispiel #2
0
        public SchemaStore GetSchemas()
        {
            RelationMetadataBuilder  relationBuilder  = new RelationMetadataBuilder();
            BindingMetadataBuilder   bindingBuilder   = new BindingMetadataBuilder();
            ReferenceMetadataBuilder referenceBuilder = new ReferenceMetadataBuilder();

            SchemaStore store = new SchemaStore(new DotNotation(), relationBuilder, bindingBuilder, referenceBuilder);

            bindingBuilder.Add(new SqliteContractResolver());

            return(store);
        }