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); }
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); }