public static ISchemaStore Use(this ISchemaStore store, IRelationContractResolver resolver)
        {
            if (store == null)
            {
                throw new ArgumentNullException(nameof(store));
            }

            if (resolver == null)
            {
                throw new ArgumentNullException(nameof(resolver));
            }

            RelationMetadataBuilder builder = store.Builders.FirstOfType <RelationMetadataBuilder>();

            builder?.Add(resolver);

            return(store);
        }
示例#2
0
        public static void AddContract(this ISchemaStore schemas, IRelationContractResolver contract)
        {
            if (schemas == null)
            {
                throw new ArgumentNullException(nameof(schemas));
            }

            if (contract == null)
            {
                throw new ArgumentNullException(nameof(contract));
            }

            RelationMetadataBuilder builder = schemas.OfType <RelationMetadataBuilder>().FirstOrDefault();

            if (builder == null)
            {
                throw new InvalidOperationException("No relation metadata builder found.");
            }

            builder.Add(contract);
        }