/// <summary> /// Initializes a new instance of the <see cref="ObjectExtensionPropertyInfo"/> class. /// </summary> /// <param name="objectExtension">The object extension.</param> /// <param name="type">The type.</param> /// <param name="name">The name.</param> public ObjectExtensionPropertyInfo( [NotNull] ObjectExtensionInfo objectExtension, [NotNull] Type type, [NotNull] string name) { ObjectExtension = Check.NotNull(objectExtension, nameof(objectExtension)); Type = Check.NotNull(type, nameof(type)); Name = Check.NotNull(name, nameof(name)); Configuration = new Dictionary <object, object>(); }
/// <summary> /// Maps the ef core property. /// </summary> /// <typeparam name="TProperty">The type of the t property.</typeparam> /// <param name="objectExtensionInfo">The object extension information.</param> /// <param name="propertyName">Name of the property.</param> /// <param name="propertyBuildAction">The property build action.</param> /// <returns>ObjectExtensionInfo.</returns> public static ObjectExtensionInfo MapEfCoreProperty <TProperty>( [NotNull] this ObjectExtensionInfo objectExtensionInfo, [NotNull] string propertyName, [CanBeNull] Action <PropertyBuilder> propertyBuildAction) { return(objectExtensionInfo.MapEfCoreProperty( typeof(TProperty), propertyName, propertyBuildAction )); }
/// <summary> /// Maps the ef core property. /// </summary> /// <param name="objectExtensionInfo">The object extension information.</param> /// <param name="propertyType">Type of the property.</param> /// <param name="propertyName">Name of the property.</param> /// <param name="propertyBuildAction">The property build action.</param> /// <returns>ObjectExtensionInfo.</returns> public static ObjectExtensionInfo MapEfCoreProperty( [NotNull] this ObjectExtensionInfo objectExtensionInfo, [NotNull] Type propertyType, [NotNull] string propertyName, [CanBeNull] Action <PropertyBuilder> propertyBuildAction) { Check.NotNull(objectExtensionInfo, nameof(objectExtensionInfo)); return(objectExtensionInfo.AddOrUpdateProperty( propertyType, propertyName, options => { options.MapEfCore( propertyBuildAction ); } )); }