/// <summary> /// Discover the property from the given type. /// </summary> /// <typeparam name="TEntity">The entity type.</typeparam> /// <param name="builder">The parent builder to add to.</param> /// <param name="type">The type to discover the properties from.</param> void Discover <TEntity>(ContractBuilder <TEntity> builder, TypeInfo type) { foreach (var property in _fieldDiscovery.Discover(type)) { builder .Field(property.Name) .Accessor(new RuntimeFieldAccessor(property)) .Options(RuntimeField.CreateDefaultOptions(property)); } }
/// <summary> /// Creates the runtime fields for a given type. /// </summary> /// <param name="type">The type to create the runtime fields for.</param> /// <param name="fieldDiscovery">The field discovery instance to use for determining what fields are available.</param> /// <returns>The list of runtime fields for the given type.</returns> internal static IReadOnlyList <RuntimeField> CreateRuntimeFields(Type type, IFieldDiscovery fieldDiscovery) { return(fieldDiscovery.Discover(type.GetTypeInfo()).Select(RuntimeField.CreateRuntimeField).ToList()); }