Skip to content

Commit

Permalink
Add complex types
Browse files Browse the repository at this point in the history
Fixes #13947
  • Loading branch information
AndriySvyryd committed Jun 8, 2023
1 parent dfed0f5 commit 8cc890c
Show file tree
Hide file tree
Showing 202 changed files with 22,967 additions and 6,639 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -711,10 +711,10 @@ protected virtual ModelBuilder VisitForeignKeys(
uniquifier: NavigationUniquifier);

var leftSkipNavigation = leftEntityType.AddSkipNavigation(
leftNavigationPropertyName, null, rightEntityType, collection: true, onDependent: false);
leftNavigationPropertyName, memberInfo: null, targetEntityType: rightEntityType, collection: true, onDependent: false);
leftSkipNavigation.SetForeignKey(fks[0]);
var rightSkipNavigation = rightEntityType.AddSkipNavigation(
rightNavigationPropertyName, null, leftEntityType, collection: true, onDependent: false);
rightNavigationPropertyName, memberInfo: null, targetEntityType: leftEntityType, collection: true, onDependent: false);
rightSkipNavigation.SetForeignKey(fks[1]);
leftSkipNavigation.SetInverse(rightSkipNavigation);
rightSkipNavigation.SetInverse(leftSkipNavigation);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,45 @@ public interface IConventionCheckConstraintBuilder : IConventionAnnotatableBuild
/// </summary>
new IConventionCheckConstraint Metadata { get; }

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionCheckConstraintBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionCheckConstraintBuilder? HasAnnotation(string name, object? value, bool fromDataAnnotation = false);

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// Removes the annotation if <see langword="null" /> value is specified.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation. <see langword="null" /> to remove the annotations.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionCheckConstraintBuilder" /> to continue configuration if the annotation was set or removed,
/// <see langword="null" /> otherwise.
/// </returns>
new IConventionCheckConstraintBuilder? HasNonNullAnnotation(
string name,
object? value,
bool fromDataAnnotation = false);

/// <summary>
/// Removes the annotation with the given name from this object.
/// </summary>
/// <param name="name">The name of the annotation to remove.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionCheckConstraintBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionCheckConstraintBuilder? HasNoAnnotation(string name, bool fromDataAnnotation = false);

/// <summary>
/// Sets the database name of the check constraint.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,45 @@ public interface IConventionDbFunctionBuilder : IConventionAnnotatableBuilder
/// </summary>
new IConventionDbFunction Metadata { get; }

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionDbFunctionBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionDbFunctionBuilder? HasAnnotation(string name, object? value, bool fromDataAnnotation = false);

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// Removes the annotation if <see langword="null" /> value is specified.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation. <see langword="null" /> to remove the annotations.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionDbFunctionBuilder" /> to continue configuration if the annotation was set or removed,
/// <see langword="null" /> otherwise.
/// </returns>
new IConventionDbFunctionBuilder? HasNonNullAnnotation(
string name,
object? value,
bool fromDataAnnotation = false);

/// <summary>
/// Removes the annotation with the given name from this object.
/// </summary>
/// <param name="name">The name of the annotation to remove.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionDbFunctionBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionDbFunctionBuilder? HasNoAnnotation(string name, bool fromDataAnnotation = false);

/// <summary>
/// Sets the name of the database function.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,45 @@ public interface IConventionDbFunctionParameterBuilder : IConventionAnnotatableB
/// </summary>
new IConventionDbFunctionParameter Metadata { get; }

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionDbFunctionParameterBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionDbFunctionParameterBuilder? HasAnnotation(string name, object? value, bool fromDataAnnotation = false);

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// Removes the annotation if <see langword="null" /> value is specified.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation. <see langword="null" /> to remove the annotations.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionDbFunctionParameterBuilder" /> to continue configuration if the annotation was set or removed,
/// <see langword="null" /> otherwise.
/// </returns>
new IConventionDbFunctionParameterBuilder? HasNonNullAnnotation(
string name,
object? value,
bool fromDataAnnotation = false);

/// <summary>
/// Removes the annotation with the given name from this object.
/// </summary>
/// <param name="name">The name of the annotation to remove.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionDbFunctionParameterBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionDbFunctionParameterBuilder? HasNoAnnotation(string name, bool fromDataAnnotation = false);

/// <summary>
/// Sets the store type of the function parameter in the database.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,45 @@ public interface IConventionSequenceBuilder : IConventionAnnotatableBuilder
/// </summary>
new IConventionSequence Metadata { get; }

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionSequenceBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionSequenceBuilder? HasAnnotation(string name, object? value, bool fromDataAnnotation = false);

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// Removes the annotation if <see langword="null" /> value is specified.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation. <see langword="null" /> to remove the annotations.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionSequenceBuilder" /> to continue configuration if the annotation was set or removed,
/// <see langword="null" /> otherwise.
/// </returns>
new IConventionSequenceBuilder? HasNonNullAnnotation(
string name,
object? value,
bool fromDataAnnotation = false);

/// <summary>
/// Removes the annotation with the given name from this object.
/// </summary>
/// <param name="name">The name of the annotation to remove.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionSequenceBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionSequenceBuilder? HasNoAnnotation(string name, bool fromDataAnnotation = false);

/// <summary>
/// Sets the type of values returned by the sequence.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,45 @@ public interface IConventionStoredProcedureBuilder : IConventionAnnotatableBuild
/// </summary>
new IConventionStoredProcedure Metadata { get; }

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionStoredProcedureBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionStoredProcedureBuilder? HasAnnotation(string name, object? value, bool fromDataAnnotation = false);

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// Removes the annotation if <see langword="null" /> value is specified.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation. <see langword="null" /> to remove the annotations.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionStoredProcedureBuilder" /> to continue configuration if the annotation was set or removed,
/// <see langword="null" /> otherwise.
/// </returns>
new IConventionStoredProcedureBuilder? HasNonNullAnnotation(
string name,
object? value,
bool fromDataAnnotation = false);

/// <summary>
/// Removes the annotation with the given name from this object.
/// </summary>
/// <param name="name">The name of the annotation to remove.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionStoredProcedureBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionStoredProcedureBuilder? HasNoAnnotation(string name, bool fromDataAnnotation = false);

/// <summary>
/// Sets the name of the stored procedure.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,45 @@ public interface IConventionStoredProcedureParameterBuilder : IConventionAnnotat
/// </summary>
new IConventionStoredProcedureParameter Metadata { get; }

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionStoredProcedureParameterBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionStoredProcedureParameterBuilder? HasAnnotation(string name, object? value, bool fromDataAnnotation = false);

/// <summary>
/// Sets the annotation stored under the given name. Overwrites the existing annotation if an
/// annotation with the specified name already exists with same or lower <see cref="ConfigurationSource" />.
/// Removes the annotation if <see langword="null" /> value is specified.
/// </summary>
/// <param name="name">The name of the annotation to be set.</param>
/// <param name="value">The value to be stored in the annotation. <see langword="null" /> to remove the annotations.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionStoredProcedureParameterBuilder" /> to continue configuration if the annotation was set or removed,
/// <see langword="null" /> otherwise.
/// </returns>
new IConventionStoredProcedureParameterBuilder? HasNonNullAnnotation(
string name,
object? value,
bool fromDataAnnotation = false);

/// <summary>
/// Removes the annotation with the given name from this object.
/// </summary>
/// <param name="name">The name of the annotation to remove.</param>
/// <param name="fromDataAnnotation">Indicates whether the configuration was specified using a data annotation.</param>
/// <returns>
/// An <see cref="IConventionStoredProcedureParameterBuilder" /> to continue configuration if the annotation was set, <see langword="null" /> otherwise.
/// </returns>
new IConventionStoredProcedureParameterBuilder? HasNoAnnotation(string name, bool fromDataAnnotation = false);

/// <summary>
/// Configures the parameter name.
/// </summary>
Expand Down
Loading

0 comments on commit 8cc890c

Please sign in to comment.