diff --git a/src/EFCore/Metadata/Builders/CollectionCollectionBuilder.cs b/src/EFCore/Metadata/Builders/CollectionCollectionBuilder.cs
index d189b43f736..1b17265d879 100644
--- a/src/EFCore/Metadata/Builders/CollectionCollectionBuilder.cs
+++ b/src/EFCore/Metadata/Builders/CollectionCollectionBuilder.cs
@@ -18,6 +18,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class CollectionCollectionBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/CollectionCollectionBuilder`.cs b/src/EFCore/Metadata/Builders/CollectionCollectionBuilder`.cs
index a7402ebc9dd..a5722f13bca 100644
--- a/src/EFCore/Metadata/Builders/CollectionCollectionBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/CollectionCollectionBuilder`.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// One of the entity types in this relationship.
/// One of the entity types in this relationship.
public class CollectionCollectionBuilder : CollectionCollectionBuilder
diff --git a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs
index bb2c941f7f2..010ba35341d 100644
--- a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs
+++ b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs
@@ -21,6 +21,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class CollectionNavigationBuilder : IInfrastructure
{
///
diff --git a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder`.cs b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder`.cs
index 7476a59b672..5e473fb4ab5 100644
--- a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder`.cs
@@ -21,6 +21,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The entity type to be configured.
/// The entity type that this relationship targets.
public class CollectionNavigationBuilder : CollectionNavigationBuilder
diff --git a/src/EFCore/Metadata/Builders/DataBuilder.cs b/src/EFCore/Metadata/Builders/DataBuilder.cs
index b050548a7ed..43708cc1818 100644
--- a/src/EFCore/Metadata/Builders/DataBuilder.cs
+++ b/src/EFCore/Metadata/Builders/DataBuilder.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
///
/// Allows further configuration of model data.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class DataBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/DataBuilder`.cs b/src/EFCore/Metadata/Builders/DataBuilder`.cs
index bc6212cbfef..cff124611e2 100644
--- a/src/EFCore/Metadata/Builders/DataBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/DataBuilder`.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
///
/// Allows further configuration of model data.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The entity type of the data.
public class DataBuilder : DataBuilder
{
diff --git a/src/EFCore/Metadata/Builders/DiscriminatorBuilder.cs b/src/EFCore/Metadata/Builders/DiscriminatorBuilder.cs
index 018bb56b29d..b8d0c5f86a0 100644
--- a/src/EFCore/Metadata/Builders/DiscriminatorBuilder.cs
+++ b/src/EFCore/Metadata/Builders/DiscriminatorBuilder.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
///
/// Provides a simple API surface for setting discriminator values.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class DiscriminatorBuilder : IConventionDiscriminatorBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/DiscriminatorBuilder`.cs b/src/EFCore/Metadata/Builders/DiscriminatorBuilder`.cs
index 7f52f1223f1..20cf66d7969 100644
--- a/src/EFCore/Metadata/Builders/DiscriminatorBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/DiscriminatorBuilder`.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
///
/// Provides a simple API surface for setting discriminator values.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The type of the discriminator property.
public class DiscriminatorBuilder
{
diff --git a/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs b/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs
index 6457543d2ad..29f8ab4f781 100644
--- a/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs
+++ b/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs
@@ -24,6 +24,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class EntityTypeBuilder : IInfrastructure
{
///
diff --git a/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs b/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs
index 26f86e83e67..0f056311c81 100644
--- a/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs
@@ -21,6 +21,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The entity type being configured.
public class EntityTypeBuilder : EntityTypeBuilder
where TEntity : class
diff --git a/src/EFCore/Metadata/Builders/IConventionAnnotatableBuilder.cs b/src/EFCore/Metadata/Builders/IConventionAnnotatableBuilder.cs
index 572d03a625f..ebbc8ec4025 100644
--- a/src/EFCore/Metadata/Builders/IConventionAnnotatableBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionAnnotatableBuilder.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionAnnotatableBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionDiscriminatorBuilder.cs b/src/EFCore/Metadata/Builders/IConventionDiscriminatorBuilder.cs
index b01b8c9cbbc..a67ab7f629c 100644
--- a/src/EFCore/Metadata/Builders/IConventionDiscriminatorBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionDiscriminatorBuilder.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
///
/// Provides a simple API surface for setting discriminator values from conventions.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionDiscriminatorBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionEntityTypeBuilder.cs b/src/EFCore/Metadata/Builders/IConventionEntityTypeBuilder.cs
index 689e38cf735..efdc5626555 100644
--- a/src/EFCore/Metadata/Builders/IConventionEntityTypeBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionEntityTypeBuilder.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionEntityTypeBuilder : IConventionAnnotatableBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionForeignKeyBuilder.cs b/src/EFCore/Metadata/Builders/IConventionForeignKeyBuilder.cs
index 835a1848c9a..d688b64806b 100644
--- a/src/EFCore/Metadata/Builders/IConventionForeignKeyBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionForeignKeyBuilder.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionForeignKeyBuilder : IConventionAnnotatableBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionIndexBuilder.cs b/src/EFCore/Metadata/Builders/IConventionIndexBuilder.cs
index 356b735f412..c249cdfd7f6 100644
--- a/src/EFCore/Metadata/Builders/IConventionIndexBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionIndexBuilder.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionIndexBuilder : IConventionAnnotatableBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionKeyBuilder.cs b/src/EFCore/Metadata/Builders/IConventionKeyBuilder.cs
index ae53c60a532..52af4e020a5 100644
--- a/src/EFCore/Metadata/Builders/IConventionKeyBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionKeyBuilder.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionKeyBuilder : IConventionAnnotatableBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionModelBuilder.cs b/src/EFCore/Metadata/Builders/IConventionModelBuilder.cs
index 7c17d27f21f..10eac32624b 100644
--- a/src/EFCore/Metadata/Builders/IConventionModelBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionModelBuilder.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionModelBuilder : IConventionAnnotatableBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionNavigationBuilder.cs b/src/EFCore/Metadata/Builders/IConventionNavigationBuilder.cs
index 7a1c0315883..b8a12e7cc9c 100644
--- a/src/EFCore/Metadata/Builders/IConventionNavigationBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionNavigationBuilder.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionNavigationBuilder : IConventionPropertyBaseBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionOwnedEntityTypeBuilder.cs b/src/EFCore/Metadata/Builders/IConventionOwnedEntityTypeBuilder.cs
index 8667656c280..206437ceca9 100644
--- a/src/EFCore/Metadata/Builders/IConventionOwnedEntityTypeBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionOwnedEntityTypeBuilder.cs
@@ -7,6 +7,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// This interface is typically used by database providers (and other extensions). It is generally
/// not used in application code.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionOwnedEntityTypeBuilder
{
}
diff --git a/src/EFCore/Metadata/Builders/IConventionPropertyBaseBuilder.cs b/src/EFCore/Metadata/Builders/IConventionPropertyBaseBuilder.cs
index cadca2111c4..71aa0c479c1 100644
--- a/src/EFCore/Metadata/Builders/IConventionPropertyBaseBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionPropertyBaseBuilder.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionPropertyBaseBuilder : IConventionAnnotatableBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionPropertyBuilder.cs b/src/EFCore/Metadata/Builders/IConventionPropertyBuilder.cs
index 93a88b57798..3660049dcbb 100644
--- a/src/EFCore/Metadata/Builders/IConventionPropertyBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionPropertyBuilder.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionPropertyBuilder : IConventionPropertyBaseBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionServicePropertyBuilder.cs b/src/EFCore/Metadata/Builders/IConventionServicePropertyBuilder.cs
index b8401640d13..7ac39f8cf58 100644
--- a/src/EFCore/Metadata/Builders/IConventionServicePropertyBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionServicePropertyBuilder.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionServicePropertyBuilder : IConventionPropertyBaseBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IConventionSkipNavigationBuilder.cs b/src/EFCore/Metadata/Builders/IConventionSkipNavigationBuilder.cs
index 88108581579..554002b0580 100644
--- a/src/EFCore/Metadata/Builders/IConventionSkipNavigationBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IConventionSkipNavigationBuilder.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionSkipNavigationBuilder : IConventionPropertyBaseBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/IndexBuilder.cs b/src/EFCore/Metadata/Builders/IndexBuilder.cs
index 033b4b039d7..0a13fca51d2 100644
--- a/src/EFCore/Metadata/Builders/IndexBuilder.cs
+++ b/src/EFCore/Metadata/Builders/IndexBuilder.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class IndexBuilder : IInfrastructure
{
///
diff --git a/src/EFCore/Metadata/Builders/IndexBuilder`.cs b/src/EFCore/Metadata/Builders/IndexBuilder`.cs
index 7dc136bc6c1..09593563095 100644
--- a/src/EFCore/Metadata/Builders/IndexBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/IndexBuilder`.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
// ReSharper disable once UnusedTypeParameter
public class IndexBuilder : IndexBuilder
{
diff --git a/src/EFCore/Metadata/Builders/InvertibleRelationshipBuilderBase.cs b/src/EFCore/Metadata/Builders/InvertibleRelationshipBuilderBase.cs
index 5cbbb72a213..e3e1f97d9a0 100644
--- a/src/EFCore/Metadata/Builders/InvertibleRelationshipBuilderBase.cs
+++ b/src/EFCore/Metadata/Builders/InvertibleRelationshipBuilderBase.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
///
/// Base class used for configuring an invertible relationship.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public abstract class InvertibleRelationshipBuilderBase : IInfrastructure
{
private readonly IReadOnlyList? _foreignKeyProperties;
diff --git a/src/EFCore/Metadata/Builders/KeyBuilder.cs b/src/EFCore/Metadata/Builders/KeyBuilder.cs
index 966cc3cd07d..2da187ff3ce 100644
--- a/src/EFCore/Metadata/Builders/KeyBuilder.cs
+++ b/src/EFCore/Metadata/Builders/KeyBuilder.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class KeyBuilder : IInfrastructure
{
///
diff --git a/src/EFCore/Metadata/Builders/KeyBuilder`.cs b/src/EFCore/Metadata/Builders/KeyBuilder`.cs
index 6cb8fcfa794..bb2f78f7dff 100644
--- a/src/EFCore/Metadata/Builders/KeyBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/KeyBuilder`.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
// ReSharper disable once UnusedTypeParameter
public class KeyBuilder : KeyBuilder
{
diff --git a/src/EFCore/Metadata/Builders/NavigationBuilder.cs b/src/EFCore/Metadata/Builders/NavigationBuilder.cs
index 5bb96d3fc4f..689a434d97d 100644
--- a/src/EFCore/Metadata/Builders/NavigationBuilder.cs
+++ b/src/EFCore/Metadata/Builders/NavigationBuilder.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class NavigationBuilder : IInfrastructure, IInfrastructure
{
///
diff --git a/src/EFCore/Metadata/Builders/NavigationBuilder`.cs b/src/EFCore/Metadata/Builders/NavigationBuilder`.cs
index 3e9978bf6fc..9d0887eb272 100644
--- a/src/EFCore/Metadata/Builders/NavigationBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/NavigationBuilder`.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class NavigationBuilder : NavigationBuilder
where TSource : class
where TTarget : class
diff --git a/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder.cs b/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder.cs
index d640dc46e6a..7c502b35197 100644
--- a/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder.cs
+++ b/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class OwnedEntityTypeBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder`.cs b/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder`.cs
index bdcd842ec63..8dc3a7ef4e0 100644
--- a/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder`.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The entity type being configured.
// ReSharper disable once UnusedTypeParameter
public class OwnedEntityTypeBuilder : OwnedEntityTypeBuilder
diff --git a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs
index 6daa66d19d7..3f1cdfb29f9 100644
--- a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs
+++ b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
///
/// Provides a simple API for configuring a navigation to an owned entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class OwnedNavigationBuilder : IInfrastructure
{
private InternalForeignKeyBuilder _builder;
diff --git a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder`.cs b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder`.cs
index a3a3ba08a3d..d0e85663f03 100644
--- a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder`.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
///
/// Provides a simple API for configuring a navigation to an owned entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class OwnedNavigationBuilder : OwnedNavigationBuilder
where TOwnerEntity : class
where TDependentEntity : class
diff --git a/src/EFCore/Metadata/Builders/OwnershipBuilder.cs b/src/EFCore/Metadata/Builders/OwnershipBuilder.cs
index ddb80b0f3f1..ccc3fe9a4b7 100644
--- a/src/EFCore/Metadata/Builders/OwnershipBuilder.cs
+++ b/src/EFCore/Metadata/Builders/OwnershipBuilder.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// Provides a simple API for configuring an ownership.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class OwnershipBuilder : RelationshipBuilderBase
{
///
diff --git a/src/EFCore/Metadata/Builders/OwnershipBuilder`.cs b/src/EFCore/Metadata/Builders/OwnershipBuilder`.cs
index 474c8ab2f16..621c8bc81df 100644
--- a/src/EFCore/Metadata/Builders/OwnershipBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/OwnershipBuilder`.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// Provides a simple API for configuring an ownership.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class OwnershipBuilder : OwnershipBuilder
where TEntity : class
where TDependentEntity : class
diff --git a/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder.cs b/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder.cs
index b3cec74ad6a..110da3bb3c8 100644
--- a/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder.cs
+++ b/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder.cs
@@ -20,6 +20,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class PropertiesConfigurationBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder`.cs b/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder`.cs
index 833f6fec42f..bec4f16072f 100644
--- a/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder`.cs
@@ -18,6 +18,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class PropertiesConfigurationBuilder : PropertiesConfigurationBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/PropertyBuilder.cs b/src/EFCore/Metadata/Builders/PropertyBuilder.cs
index 8bf7b34e6a7..bc75ac2f60f 100644
--- a/src/EFCore/Metadata/Builders/PropertyBuilder.cs
+++ b/src/EFCore/Metadata/Builders/PropertyBuilder.cs
@@ -21,6 +21,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class PropertyBuilder : IInfrastructure
{
///
diff --git a/src/EFCore/Metadata/Builders/PropertyBuilder`.cs b/src/EFCore/Metadata/Builders/PropertyBuilder`.cs
index fd637533253..638b513f9ff 100644
--- a/src/EFCore/Metadata/Builders/PropertyBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/PropertyBuilder`.cs
@@ -20,6 +20,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class PropertyBuilder : PropertyBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder.cs b/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder.cs
index e3ad98f34e3..b4919d4b093 100644
--- a/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder.cs
+++ b/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class ReferenceCollectionBuilder : RelationshipBuilderBase
{
///
diff --git a/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder`.cs b/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder`.cs
index ba37ae3142a..051b304fae5 100644
--- a/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder`.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The principal entity type in this relationship.
/// The dependent entity type in this relationship.
public class ReferenceCollectionBuilder : ReferenceCollectionBuilder
diff --git a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs
index b2f18afd530..f8a74669d6f 100644
--- a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs
+++ b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs
@@ -23,6 +23,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class ReferenceNavigationBuilder : IInfrastructure
{
///
diff --git a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder`.cs b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder`.cs
index 92c567eeb17..8359c354507 100644
--- a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder`.cs
@@ -20,6 +20,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The entity type to be configured.
/// The entity type that this relationship targets.
public class ReferenceNavigationBuilder : ReferenceNavigationBuilder
diff --git a/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder.cs b/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder.cs
index 3563da810ec..362e85d8f6d 100644
--- a/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder.cs
+++ b/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder.cs
@@ -18,6 +18,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// Provides a simple API for configuring a one-to-one relationship.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class ReferenceReferenceBuilder : InvertibleRelationshipBuilderBase
{
///
diff --git a/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder`.cs b/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder`.cs
index 0a0e72e12a2..8df2fc05228 100644
--- a/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder`.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// Provides a simple API for configuring a one-to-one relationship.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class ReferenceReferenceBuilder : ReferenceReferenceBuilder
where TEntity : class
where TRelatedEntity : class
diff --git a/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs b/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs
index 3e21485b18c..0275a5ea432 100644
--- a/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs
+++ b/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
///
/// Base class used for configuring a relationship.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public abstract class RelationshipBuilderBase : IInfrastructure
{
private readonly IReadOnlyList? _foreignKeyProperties;
diff --git a/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder.cs b/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder.cs
index 0c427c8e2e2..caa9c4d6a33 100644
--- a/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder.cs
+++ b/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class TypeMappingConfigurationBuilder
{
///
diff --git a/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder`.cs b/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder`.cs
index f4cae9d9d37..af43c7f5460 100644
--- a/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder`.cs
+++ b/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder`.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders
/// and it is not designed to be directly constructed in your application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class TypeMappingConfigurationBuilder : TypeMappingConfigurationBuilder
{
///
diff --git a/src/EFCore/Metadata/ConfigurationSource.cs b/src/EFCore/Metadata/ConfigurationSource.cs
index cb308e37cf5..49a31efc8d6 100644
--- a/src/EFCore/Metadata/ConfigurationSource.cs
+++ b/src/EFCore/Metadata/ConfigurationSource.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public enum ConfigurationSource
{
///
diff --git a/src/EFCore/Metadata/ConfigurationSourceExtensions.cs b/src/EFCore/Metadata/ConfigurationSourceExtensions.cs
index 7d406746674..c636ad24145 100644
--- a/src/EFCore/Metadata/ConfigurationSourceExtensions.cs
+++ b/src/EFCore/Metadata/ConfigurationSourceExtensions.cs
@@ -8,11 +8,17 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Provides extension methods for
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public static class ConfigurationSourceExtensions
{
///
/// Returns a value indicating whether the new configuration source can override configuration set with the old configuration source.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The new configuration source.
/// The old configuration source.
/// if the new configuration source can override configuration set with the old configuration source.
@@ -45,6 +51,9 @@ public static bool Overrides(this ConfigurationSource newConfigurationSource, Co
///
/// Returns a value indicating whether the new configuration source can override configuration set with the old configuration source.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The new configuration source.
/// The old configuration source.
/// if the new configuration source can override configuration set with the old configuration source.
@@ -54,6 +63,9 @@ public static bool Overrides(this ConfigurationSource? newConfigurationSource, C
///
/// Returns a value indicating whether the configuration source always takes precedence over the other configuration source.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The new configuration source.
/// The old configuration source.
/// if the configuration source always takes precedence over the other configuration source.
@@ -63,6 +75,9 @@ public static bool OverridesStrictly(this ConfigurationSource newConfigurationSo
///
/// Returns a value indicating whether the configuration source always takes precedence over the other configuration source.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The new configuration source.
/// The old configuration source.
/// if the configuration source always takes precedence over the other configuration source.
@@ -72,6 +87,9 @@ public static bool OverridesStrictly(this ConfigurationSource? newConfigurationS
///
/// Returns the configuration source which has higher priority.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The left configuration source.
/// The right configuration source.
/// The configuration source with higher priority.
@@ -84,6 +102,9 @@ public static bool OverridesStrictly(this ConfigurationSource? newConfigurationS
///
/// Returns the configuration source which has higher priority.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The left configuration source.
/// The right configuration source.
/// The configuration source with higher priority.
diff --git a/src/EFCore/Metadata/ConstructorBinding.cs b/src/EFCore/Metadata/ConstructorBinding.cs
index ff934f1dffe..cfcdc05f4a2 100644
--- a/src/EFCore/Metadata/ConstructorBinding.cs
+++ b/src/EFCore/Metadata/ConstructorBinding.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Defines the binding of parameters to a CLR for an entity type.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class ConstructorBinding : InstantiationBinding
{
///
diff --git a/src/EFCore/Metadata/ContextParameterBinding.cs b/src/EFCore/Metadata/ContextParameterBinding.cs
index 910b7acca5d..d7dcf82e9ab 100644
--- a/src/EFCore/Metadata/ContextParameterBinding.cs
+++ b/src/EFCore/Metadata/ContextParameterBinding.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Describes the binding of a , which may or may not also have and associated
/// , to a parameter in a constructor, factory method, or similar.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class ContextParameterBinding : ServiceParameterBinding
{
///
diff --git a/src/EFCore/Metadata/Conventions/BackingFieldAttributeConvention.cs b/src/EFCore/Metadata/Conventions/BackingFieldAttributeConvention.cs
index a7c189815b5..e51d2e7ab86 100644
--- a/src/EFCore/Metadata/Conventions/BackingFieldAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/BackingFieldAttributeConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that configures a property as having a backing field
/// based on the attribute.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class BackingFieldAttributeConvention : PropertyAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/BackingFieldConvention.cs b/src/EFCore/Metadata/Conventions/BackingFieldConvention.cs
index fa9f89c4c4f..1ed2c232e30 100644
--- a/src/EFCore/Metadata/Conventions/BackingFieldConvention.cs
+++ b/src/EFCore/Metadata/Conventions/BackingFieldConvention.cs
@@ -28,6 +28,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// If more than one matching field is found an exception is thrown.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class BackingFieldConvention :
IPropertyAddedConvention,
INavigationAddedConvention,
diff --git a/src/EFCore/Metadata/Conventions/BaseTypeDiscoveryConvention.cs b/src/EFCore/Metadata/Conventions/BaseTypeDiscoveryConvention.cs
index 7d399273387..fd822cc1900 100644
--- a/src/EFCore/Metadata/Conventions/BaseTypeDiscoveryConvention.cs
+++ b/src/EFCore/Metadata/Conventions/BaseTypeDiscoveryConvention.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that finds base and derived entity types that are already part of the model based on the associated
/// CLR type hierarchy.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class BaseTypeDiscoveryConvention :
#pragma warning disable CS0612 // Type or member is obsolete
InheritanceDiscoveryConventionBase,
diff --git a/src/EFCore/Metadata/Conventions/CascadeDeleteConvention.cs b/src/EFCore/Metadata/Conventions/CascadeDeleteConvention.cs
index a4ac4f39232..c6595eb59c4 100644
--- a/src/EFCore/Metadata/Conventions/CascadeDeleteConvention.cs
+++ b/src/EFCore/Metadata/Conventions/CascadeDeleteConvention.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that sets the delete behavior to for required foreign keys
/// and for optional ones.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class CascadeDeleteConvention : IForeignKeyAddedConvention, IForeignKeyRequirednessChangedConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/ChangeTrackingStrategyConvention.cs b/src/EFCore/Metadata/Conventions/ChangeTrackingStrategyConvention.cs
index 96de4b043c0..368b34699c5 100644
--- a/src/EFCore/Metadata/Conventions/ChangeTrackingStrategyConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ChangeTrackingStrategyConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that sets a flag on the model to always skip detecting changes if no entity type is using the
/// strategy.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ChangeTrackingStrategyConvention : IModelFinalizingConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/ConcurrencyCheckAttributeConvention.cs b/src/EFCore/Metadata/Conventions/ConcurrencyCheckAttributeConvention.cs
index 1ff81253826..046dde4d312 100644
--- a/src/EFCore/Metadata/Conventions/ConcurrencyCheckAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ConcurrencyCheckAttributeConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures a property as a concurrency token if it has the .
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ConcurrencyCheckAttributeConvention : PropertyAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/ConstructorBindingConvention.cs b/src/EFCore/Metadata/Conventions/ConstructorBindingConvention.cs
index c5048973788..e35874cc84a 100644
--- a/src/EFCore/Metadata/Conventions/ConstructorBindingConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ConstructorBindingConvention.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// * m_[parameter name]
/// * m_[pascal-cased parameter name]
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ConstructorBindingConvention : IModelFinalizingConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/ConventionSet.cs b/src/EFCore/Metadata/Conventions/ConventionSet.cs
index 62a5aa65fd0..54c2cfde383 100644
--- a/src/EFCore/Metadata/Conventions/ConventionSet.cs
+++ b/src/EFCore/Metadata/Conventions/ConventionSet.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents a set of conventions used to build a model.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ConventionSet
{
///
diff --git a/src/EFCore/Metadata/Conventions/DatabaseGeneratedAttributeConvention.cs b/src/EFCore/Metadata/Conventions/DatabaseGeneratedAttributeConvention.cs
index 404a2912d1b..f3929530dee 100644
--- a/src/EFCore/Metadata/Conventions/DatabaseGeneratedAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/DatabaseGeneratedAttributeConvention.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// is specified or if
/// is specified using a .
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class DatabaseGeneratedAttributeConvention : PropertyAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/DbSetFindingConvention.cs b/src/EFCore/Metadata/Conventions/DbSetFindingConvention.cs
index 297a0c8e771..53934cdc359 100644
--- a/src/EFCore/Metadata/Conventions/DbSetFindingConvention.cs
+++ b/src/EFCore/Metadata/Conventions/DbSetFindingConvention.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that adds entity types based on the properties defined on the
/// derived class.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class DbSetFindingConvention : IModelInitializedConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/DerivedTypeDiscoveryConvention.cs b/src/EFCore/Metadata/Conventions/DerivedTypeDiscoveryConvention.cs
index acf2cd538df..d6bfecb30de 100644
--- a/src/EFCore/Metadata/Conventions/DerivedTypeDiscoveryConvention.cs
+++ b/src/EFCore/Metadata/Conventions/DerivedTypeDiscoveryConvention.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that finds derived entity types that are already part of the model based on the associated
/// CLR type hierarchy.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
[Obsolete]
public class DerivedTypeDiscoveryConvention : InheritanceDiscoveryConventionBase, IEntityTypeAddedConvention
{
diff --git a/src/EFCore/Metadata/Conventions/DiscriminatorConvention.cs b/src/EFCore/Metadata/Conventions/DiscriminatorConvention.cs
index e03a6a374e4..11559cb870e 100644
--- a/src/EFCore/Metadata/Conventions/DiscriminatorConvention.cs
+++ b/src/EFCore/Metadata/Conventions/DiscriminatorConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the discriminator value for entity types in a hierarchy as the entity type name.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class DiscriminatorConvention : IEntityTypeBaseTypeChangedConvention, IEntityTypeRemovedConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/EntityTypeAttributeConventionBase.cs b/src/EFCore/Metadata/Conventions/EntityTypeAttributeConventionBase.cs
index 6f485f27513..510cd61822e 100644
--- a/src/EFCore/Metadata/Conventions/EntityTypeAttributeConventionBase.cs
+++ b/src/EFCore/Metadata/Conventions/EntityTypeAttributeConventionBase.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A base type for conventions that perform configuration based on an attribute specified on an entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The attribute type to look for.
public abstract class EntityTypeAttributeConventionBase : IEntityTypeAddedConvention
where TAttribute : Attribute
diff --git a/src/EFCore/Metadata/Conventions/EntityTypeConfigurationEntityTypeAttributeConvention.cs b/src/EFCore/Metadata/Conventions/EntityTypeConfigurationEntityTypeAttributeConvention.cs
index f849ffa8caf..ae59209e8c9 100644
--- a/src/EFCore/Metadata/Conventions/EntityTypeConfigurationEntityTypeAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/EntityTypeConfigurationEntityTypeAttributeConvention.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that applies the entity type configuration specified in .
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class EntityTypeConfigurationEntityTypeAttributeConvention : EntityTypeAttributeConventionBase
{
private static readonly MethodInfo _configureMethod = typeof(EntityTypeConfigurationEntityTypeAttributeConvention)
diff --git a/src/EFCore/Metadata/Conventions/ForeignKeyAttributeConvention.cs b/src/EFCore/Metadata/Conventions/ForeignKeyAttributeConvention.cs
index e3f219010ea..b7ebb300a33 100644
--- a/src/EFCore/Metadata/Conventions/ForeignKeyAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ForeignKeyAttributeConvention.cs
@@ -24,6 +24,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// For one-to-one relationships the attribute has to be specified on the navigation property pointing to the principal.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ForeignKeyAttributeConvention :
IEntityTypeAddedConvention,
IForeignKeyAddedConvention,
diff --git a/src/EFCore/Metadata/Conventions/ForeignKeyIndexConvention.cs b/src/EFCore/Metadata/Conventions/ForeignKeyIndexConvention.cs
index 719f3133e3c..d9da5879e6e 100644
--- a/src/EFCore/Metadata/Conventions/ForeignKeyIndexConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ForeignKeyIndexConvention.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that creates indexes on foreign key properties unless they are already covered by existing indexes or keys.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ForeignKeyIndexConvention :
IForeignKeyAddedConvention,
IForeignKeyRemovedConvention,
diff --git a/src/EFCore/Metadata/Conventions/ForeignKeyPropertyDiscoveryConvention.cs b/src/EFCore/Metadata/Conventions/ForeignKeyPropertyDiscoveryConvention.cs
index e9ef7224dbb..222657e024a 100644
--- a/src/EFCore/Metadata/Conventions/ForeignKeyPropertyDiscoveryConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ForeignKeyPropertyDiscoveryConvention.cs
@@ -36,6 +36,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// used to make the names unique.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ForeignKeyPropertyDiscoveryConvention :
IEntityTypeMemberIgnoredConvention,
IEntityTypePrimaryKeyChangedConvention,
diff --git a/src/EFCore/Metadata/Conventions/IConvention.cs b/src/EFCore/Metadata/Conventions/IConvention.cs
index 629b41899f0..98f499079f4 100644
--- a/src/EFCore/Metadata/Conventions/IConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IConvention.cs
@@ -6,6 +6,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// This is the base interface for all convention interfaces, it should not be implemented directly.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConvention
{
}
diff --git a/src/EFCore/Metadata/Conventions/IConventionBatch.cs b/src/EFCore/Metadata/Conventions/IConventionBatch.cs
index 0acee128848..171d47614cf 100644
--- a/src/EFCore/Metadata/Conventions/IConventionBatch.cs
+++ b/src/EFCore/Metadata/Conventions/IConventionBatch.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an object that delays any convention invocations until it is run or disposed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionBatch : IDisposable
{
///
diff --git a/src/EFCore/Metadata/Conventions/IConventionContext.cs b/src/EFCore/Metadata/Conventions/IConventionContext.cs
index aea20452993..cc42423b220 100644
--- a/src/EFCore/Metadata/Conventions/IConventionContext.cs
+++ b/src/EFCore/Metadata/Conventions/IConventionContext.cs
@@ -6,6 +6,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Contextual information associated with each convention call.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionContext
{
///
diff --git a/src/EFCore/Metadata/Conventions/IConventionContext`.cs b/src/EFCore/Metadata/Conventions/IConventionContext`.cs
index 2de52bd887b..47135b774fe 100644
--- a/src/EFCore/Metadata/Conventions/IConventionContext`.cs
+++ b/src/EFCore/Metadata/Conventions/IConventionContext`.cs
@@ -6,6 +6,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Contextual information associated with each convention call.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The type of the metadata object.
public interface IConventionContext : IConventionContext
{
diff --git a/src/EFCore/Metadata/Conventions/IEntityTypeAddedConvention.cs b/src/EFCore/Metadata/Conventions/IEntityTypeAddedConvention.cs
index 49c24287ade..e53a89d9643 100644
--- a/src/EFCore/Metadata/Conventions/IEntityTypeAddedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IEntityTypeAddedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an entity type is added to the model.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IEntityTypeAddedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IEntityTypeAnnotationChangedConvention.cs b/src/EFCore/Metadata/Conventions/IEntityTypeAnnotationChangedConvention.cs
index 63207ea81ed..923dfe28ba6 100644
--- a/src/EFCore/Metadata/Conventions/IEntityTypeAnnotationChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IEntityTypeAnnotationChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an annotation is changed on an entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IEntityTypeAnnotationChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IEntityTypeBaseTypeChangedConvention.cs b/src/EFCore/Metadata/Conventions/IEntityTypeBaseTypeChangedConvention.cs
index aa9a2dd1354..e80d7344019 100644
--- a/src/EFCore/Metadata/Conventions/IEntityTypeBaseTypeChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IEntityTypeBaseTypeChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the base type of an entity type changes.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IEntityTypeBaseTypeChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IEntityTypeIgnoredConvention.cs b/src/EFCore/Metadata/Conventions/IEntityTypeIgnoredConvention.cs
index 517e630008c..7b7a0d41d1c 100644
--- a/src/EFCore/Metadata/Conventions/IEntityTypeIgnoredConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IEntityTypeIgnoredConvention.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an entity type is ignored.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IEntityTypeIgnoredConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IEntityTypeMemberIgnoredConvention.cs b/src/EFCore/Metadata/Conventions/IEntityTypeMemberIgnoredConvention.cs
index 85dec0522ea..cc86a361505 100644
--- a/src/EFCore/Metadata/Conventions/IEntityTypeMemberIgnoredConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IEntityTypeMemberIgnoredConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an entity type member is ignored.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IEntityTypeMemberIgnoredConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IEntityTypePrimaryKeyChangedConvention.cs b/src/EFCore/Metadata/Conventions/IEntityTypePrimaryKeyChangedConvention.cs
index 35f85d0f985..b074710d33e 100644
--- a/src/EFCore/Metadata/Conventions/IEntityTypePrimaryKeyChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IEntityTypePrimaryKeyChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the primary key for an entity type is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IEntityTypePrimaryKeyChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IEntityTypeRemovedConvention.cs b/src/EFCore/Metadata/Conventions/IEntityTypeRemovedConvention.cs
index 448c6c772ed..307a32158b7 100644
--- a/src/EFCore/Metadata/Conventions/IEntityTypeRemovedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IEntityTypeRemovedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an entity type is removed from the model.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IEntityTypeRemovedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyAddedConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyAddedConvention.cs
index f21ece10539..88f29ce49e4 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyAddedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyAddedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a foreign key is added to the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyAddedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyAnnotationChangedConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyAnnotationChangedConvention.cs
index ccdbdc17e1b..0adabeec013 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyAnnotationChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyAnnotationChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an annotation is changed on a foreign key.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyAnnotationChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyDependentRequirednessChangedConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyDependentRequirednessChangedConvention.cs
index 00c01acff13..d1c03250158 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyDependentRequirednessChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyDependentRequirednessChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the dependent requiredness for a foreign key is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyDependentRequirednessChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyNullNavigationSetConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyNullNavigationSetConvention.cs
index 42f875b4605..789f60d0912 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyNullNavigationSetConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyNullNavigationSetConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a navigation is set to on a foreign key.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyNullNavigationSetConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyOwnershipChangedConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyOwnershipChangedConvention.cs
index 296bab708de..268331bd391 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyOwnershipChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyOwnershipChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the ownership value for a foreign key is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyOwnershipChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyPrincipalEndChangedConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyPrincipalEndChangedConvention.cs
index 502892f463f..2a8739d71da 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyPrincipalEndChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyPrincipalEndChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the principal end of a foreign key is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyPrincipalEndChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyPropertiesChangedConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyPropertiesChangedConvention.cs
index 8a3fde1c40b..edf3c9340bb 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyPropertiesChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyPropertiesChangedConvention.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the foreign key properties or principal key are changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyPropertiesChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyRemovedConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyRemovedConvention.cs
index c2af6374b4c..eaa738a1db5 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyRemovedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyRemovedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a foreign key is removed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyRemovedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyRequirednessChangedConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyRequirednessChangedConvention.cs
index e67e107a6df..429576ee9ca 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyRequirednessChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyRequirednessChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the requiredness for a foreign key is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyRequirednessChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IForeignKeyUniquenessChangedConvention.cs b/src/EFCore/Metadata/Conventions/IForeignKeyUniquenessChangedConvention.cs
index b295a6c272a..329b5744c68 100644
--- a/src/EFCore/Metadata/Conventions/IForeignKeyUniquenessChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IForeignKeyUniquenessChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the uniqueness for a foreign key is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IForeignKeyUniquenessChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IIndexAddedConvention.cs b/src/EFCore/Metadata/Conventions/IIndexAddedConvention.cs
index 18ad391961f..d71b747059e 100644
--- a/src/EFCore/Metadata/Conventions/IIndexAddedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IIndexAddedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an index is added to the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IIndexAddedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IIndexAnnotationChangedConvention.cs b/src/EFCore/Metadata/Conventions/IIndexAnnotationChangedConvention.cs
index b1bf78e078d..3645e40a9ab 100644
--- a/src/EFCore/Metadata/Conventions/IIndexAnnotationChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IIndexAnnotationChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an annotation is changed on an index.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IIndexAnnotationChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IIndexRemovedConvention.cs b/src/EFCore/Metadata/Conventions/IIndexRemovedConvention.cs
index 02585b8311d..4a9e28f1a38 100644
--- a/src/EFCore/Metadata/Conventions/IIndexRemovedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IIndexRemovedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an index is removed from the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IIndexRemovedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IIndexUniquenessChangedConvention.cs b/src/EFCore/Metadata/Conventions/IIndexUniquenessChangedConvention.cs
index abf64606aeb..bd9ab56aba8 100644
--- a/src/EFCore/Metadata/Conventions/IIndexUniquenessChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IIndexUniquenessChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the uniqueness for an index is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IIndexUniquenessChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IKeyAddedConvention.cs b/src/EFCore/Metadata/Conventions/IKeyAddedConvention.cs
index 8f8dd6b031b..9a6906664dd 100644
--- a/src/EFCore/Metadata/Conventions/IKeyAddedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IKeyAddedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a key is added to the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IKeyAddedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IKeyAnnotationChangedConvention.cs b/src/EFCore/Metadata/Conventions/IKeyAnnotationChangedConvention.cs
index ae43fdac1e6..1715425d71e 100644
--- a/src/EFCore/Metadata/Conventions/IKeyAnnotationChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IKeyAnnotationChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an annotation is changed on a key.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IKeyAnnotationChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IKeyRemovedConvention.cs b/src/EFCore/Metadata/Conventions/IKeyRemovedConvention.cs
index 8113bd9339a..fb1891d605f 100644
--- a/src/EFCore/Metadata/Conventions/IKeyRemovedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IKeyRemovedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a key is removed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IKeyRemovedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IModelAnnotationChangedConvention.cs b/src/EFCore/Metadata/Conventions/IModelAnnotationChangedConvention.cs
index d23d94aca26..ae71dc0d492 100644
--- a/src/EFCore/Metadata/Conventions/IModelAnnotationChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IModelAnnotationChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an annotation is changed on a model.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IModelAnnotationChangedConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IModelFinalizedConvention.cs b/src/EFCore/Metadata/Conventions/IModelFinalizedConvention.cs
index 70f524a9d94..8b52ce7594c 100644
--- a/src/EFCore/Metadata/Conventions/IModelFinalizedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IModelFinalizedConvention.cs
@@ -6,6 +6,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed after a model is finalized and can no longer be mutated.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IModelFinalizedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IModelFinalizingConvention.cs b/src/EFCore/Metadata/Conventions/IModelFinalizingConvention.cs
index 3bb168fd6a2..a36e8b19609 100644
--- a/src/EFCore/Metadata/Conventions/IModelFinalizingConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IModelFinalizingConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a model is being finalized.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IModelFinalizingConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IModelInitializedConvention.cs b/src/EFCore/Metadata/Conventions/IModelInitializedConvention.cs
index baaa9050b55..57f34a04178 100644
--- a/src/EFCore/Metadata/Conventions/IModelInitializedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IModelInitializedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a model is initialized.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IModelInitializedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/INavigationAddedConvention.cs b/src/EFCore/Metadata/Conventions/INavigationAddedConvention.cs
index adb5f709161..e5f62129118 100644
--- a/src/EFCore/Metadata/Conventions/INavigationAddedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/INavigationAddedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a navigation is added to the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface INavigationAddedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/INavigationAnnotationChangedConvention.cs b/src/EFCore/Metadata/Conventions/INavigationAnnotationChangedConvention.cs
index 2b8cbc205a2..5d9910827c7 100644
--- a/src/EFCore/Metadata/Conventions/INavigationAnnotationChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/INavigationAnnotationChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an annotation is changed on a navigation.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface INavigationAnnotationChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/INavigationRemovedConvention.cs b/src/EFCore/Metadata/Conventions/INavigationRemovedConvention.cs
index d949017b856..e6ec26488aa 100644
--- a/src/EFCore/Metadata/Conventions/INavigationRemovedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/INavigationRemovedConvention.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a navigation is removed from the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface INavigationRemovedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IPropertyAddedConvention.cs b/src/EFCore/Metadata/Conventions/IPropertyAddedConvention.cs
index 6c313816ed9..3fd83ee7158 100644
--- a/src/EFCore/Metadata/Conventions/IPropertyAddedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IPropertyAddedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a property is added to the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IPropertyAddedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IPropertyAnnotationChangedConvention.cs b/src/EFCore/Metadata/Conventions/IPropertyAnnotationChangedConvention.cs
index 1af045e7027..e5b7d459c00 100644
--- a/src/EFCore/Metadata/Conventions/IPropertyAnnotationChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IPropertyAnnotationChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an annotation is changed on a property.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IPropertyAnnotationChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IPropertyFieldChangedConvention.cs b/src/EFCore/Metadata/Conventions/IPropertyFieldChangedConvention.cs
index 9afadd177df..7dea81e37b8 100644
--- a/src/EFCore/Metadata/Conventions/IPropertyFieldChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IPropertyFieldChangedConvention.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the backing field for a property is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IPropertyFieldChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IPropertyNullabilityChangedConvention.cs b/src/EFCore/Metadata/Conventions/IPropertyNullabilityChangedConvention.cs
index 25a310144a5..8ca9b27e91b 100644
--- a/src/EFCore/Metadata/Conventions/IPropertyNullabilityChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IPropertyNullabilityChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when the nullability for a property is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IPropertyNullabilityChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IPropertyRemovedConvention.cs b/src/EFCore/Metadata/Conventions/IPropertyRemovedConvention.cs
index ad0febab96f..3df43fcd2ef 100644
--- a/src/EFCore/Metadata/Conventions/IPropertyRemovedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IPropertyRemovedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a property is removed from the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IPropertyRemovedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/ISkipNavigationAddedConvention.cs b/src/EFCore/Metadata/Conventions/ISkipNavigationAddedConvention.cs
index 3bf26e146c0..d62201995f3 100644
--- a/src/EFCore/Metadata/Conventions/ISkipNavigationAddedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ISkipNavigationAddedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a skip navigation is added to the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface ISkipNavigationAddedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/ISkipNavigationAnnotationChangedConvention.cs b/src/EFCore/Metadata/Conventions/ISkipNavigationAnnotationChangedConvention.cs
index 4f35f09b1a7..9b510f46964 100644
--- a/src/EFCore/Metadata/Conventions/ISkipNavigationAnnotationChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ISkipNavigationAnnotationChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when an annotation is changed on a skip navigation.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface ISkipNavigationAnnotationChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/ISkipNavigationForeignKeyChangedConvention.cs b/src/EFCore/Metadata/Conventions/ISkipNavigationForeignKeyChangedConvention.cs
index 2e30efa0195..0ed0b87b14d 100644
--- a/src/EFCore/Metadata/Conventions/ISkipNavigationForeignKeyChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ISkipNavigationForeignKeyChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a skip navigation foreign key is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface ISkipNavigationForeignKeyChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/ISkipNavigationInverseChangedConvention.cs b/src/EFCore/Metadata/Conventions/ISkipNavigationInverseChangedConvention.cs
index 471e2d74239..1f2d389d768 100644
--- a/src/EFCore/Metadata/Conventions/ISkipNavigationInverseChangedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ISkipNavigationInverseChangedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a skip navigation inverse is changed.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface ISkipNavigationInverseChangedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/ISkipNavigationRemovedConvention.cs b/src/EFCore/Metadata/Conventions/ISkipNavigationRemovedConvention.cs
index d35d3e055f3..e45059b733d 100644
--- a/src/EFCore/Metadata/Conventions/ISkipNavigationRemovedConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ISkipNavigationRemovedConvention.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Represents an operation that should be performed when a skip navigation is removed from the entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface ISkipNavigationRemovedConvention : IConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/IndexAttributeConvention.cs b/src/EFCore/Metadata/Conventions/IndexAttributeConvention.cs
index a48341c5340..ada5061a8ff 100644
--- a/src/EFCore/Metadata/Conventions/IndexAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/IndexAttributeConvention.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures database indexes based on the .
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class IndexAttributeConvention : IEntityTypeAddedConvention, IEntityTypeBaseTypeChangedConvention, IModelFinalizingConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/Infrastructure/IConventionSetBuilder.cs b/src/EFCore/Metadata/Conventions/Infrastructure/IConventionSetBuilder.cs
index f30e8536ce5..74a105d4adb 100644
--- a/src/EFCore/Metadata/Conventions/Infrastructure/IConventionSetBuilder.cs
+++ b/src/EFCore/Metadata/Conventions/Infrastructure/IConventionSetBuilder.cs
@@ -21,6 +21,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionSetBuilder
{
///
diff --git a/src/EFCore/Metadata/Conventions/Infrastructure/IConventionSetPlugin.cs b/src/EFCore/Metadata/Conventions/Infrastructure/IConventionSetPlugin.cs
index 15a9691ea9e..ab7d3b0bebe 100644
--- a/src/EFCore/Metadata/Conventions/Infrastructure/IConventionSetPlugin.cs
+++ b/src/EFCore/Metadata/Conventions/Infrastructure/IConventionSetPlugin.cs
@@ -25,6 +25,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure
/// The implementations do not need to be thread-safe.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionSetPlugin
{
///
diff --git a/src/EFCore/Metadata/Conventions/Infrastructure/IProviderConventionSetBuilder.cs b/src/EFCore/Metadata/Conventions/Infrastructure/IProviderConventionSetBuilder.cs
index 154a643becf..4d765162bac 100644
--- a/src/EFCore/Metadata/Conventions/Infrastructure/IProviderConventionSetBuilder.cs
+++ b/src/EFCore/Metadata/Conventions/Infrastructure/IProviderConventionSetBuilder.cs
@@ -28,6 +28,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IProviderConventionSetBuilder
{
///
diff --git a/src/EFCore/Metadata/Conventions/Infrastructure/ProviderConventionSetBuilder.cs b/src/EFCore/Metadata/Conventions/Infrastructure/ProviderConventionSetBuilder.cs
index fe35e54aec5..212b3c2d55d 100644
--- a/src/EFCore/Metadata/Conventions/Infrastructure/ProviderConventionSetBuilder.cs
+++ b/src/EFCore/Metadata/Conventions/Infrastructure/ProviderConventionSetBuilder.cs
@@ -29,6 +29,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ProviderConventionSetBuilder : IProviderConventionSetBuilder
{
///
diff --git a/src/EFCore/Metadata/Conventions/InheritanceDiscoveryConventionBase.cs b/src/EFCore/Metadata/Conventions/InheritanceDiscoveryConventionBase.cs
index 16ed231707c..4311152b877 100644
--- a/src/EFCore/Metadata/Conventions/InheritanceDiscoveryConventionBase.cs
+++ b/src/EFCore/Metadata/Conventions/InheritanceDiscoveryConventionBase.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// Base type for inheritance discovery conventions
///
+ ///
+ /// See Model building conventions for more information.
+ ///
[Obsolete]
public abstract class InheritanceDiscoveryConventionBase
{
diff --git a/src/EFCore/Metadata/Conventions/InversePropertyAttributeConvention.cs b/src/EFCore/Metadata/Conventions/InversePropertyAttributeConvention.cs
index 060505aebf2..d9a2485b803 100644
--- a/src/EFCore/Metadata/Conventions/InversePropertyAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/InversePropertyAttributeConvention.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that configures the inverse navigation property based on the
/// specified on the other navigation property.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class InversePropertyAttributeConvention :
NavigationAttributeConventionBase,
IModelFinalizingConvention
diff --git a/src/EFCore/Metadata/Conventions/KeyAttributeConvention.cs b/src/EFCore/Metadata/Conventions/KeyAttributeConvention.cs
index 16848f18f32..658685b6d29 100644
--- a/src/EFCore/Metadata/Conventions/KeyAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/KeyAttributeConvention.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the entity type key based on the specified on a property.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class KeyAttributeConvention : PropertyAttributeConventionBase, IModelFinalizingConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/KeyDiscoveryConvention.cs b/src/EFCore/Metadata/Conventions/KeyDiscoveryConvention.cs
index 897d16391aa..d64f93996ff 100644
--- a/src/EFCore/Metadata/Conventions/KeyDiscoveryConvention.cs
+++ b/src/EFCore/Metadata/Conventions/KeyDiscoveryConvention.cs
@@ -26,6 +26,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// is configured using the foreign key properties with an extra property that matches the naming convention above.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class KeyDiscoveryConvention :
IEntityTypeAddedConvention,
IPropertyAddedConvention,
diff --git a/src/EFCore/Metadata/Conventions/KeylessEntityTypeAttributeConvention.cs b/src/EFCore/Metadata/Conventions/KeylessEntityTypeAttributeConvention.cs
index f0e5b1cbe5a..7717b5c7ca9 100644
--- a/src/EFCore/Metadata/Conventions/KeylessEntityTypeAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/KeylessEntityTypeAttributeConvention.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that ignores entity types that have the .
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class KeylessEntityTypeAttributeConvention : EntityTypeAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/ManyToManyJoinEntityTypeConvention.cs b/src/EFCore/Metadata/Conventions/ManyToManyJoinEntityTypeConvention.cs
index aa9ffd3a3e8..f9430593f02 100644
--- a/src/EFCore/Metadata/Conventions/ManyToManyJoinEntityTypeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ManyToManyJoinEntityTypeConvention.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// a many-to-many join entity with suitable foreign keys, sets the two
/// matching skip navigations to use those foreign keys.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ManyToManyJoinEntityTypeConvention :
ISkipNavigationAddedConvention,
ISkipNavigationInverseChangedConvention,
diff --git a/src/EFCore/Metadata/Conventions/MaxLengthAttributeConvention.cs b/src/EFCore/Metadata/Conventions/MaxLengthAttributeConvention.cs
index e3f43a6082a..3628d286a0f 100644
--- a/src/EFCore/Metadata/Conventions/MaxLengthAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/MaxLengthAttributeConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the maximum length based on the applied on the property.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class MaxLengthAttributeConvention : PropertyAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/ModelCleanupConvention.cs b/src/EFCore/Metadata/Conventions/ModelCleanupConvention.cs
index f12fc7c96b3..039b0ab503e 100644
--- a/src/EFCore/Metadata/Conventions/ModelCleanupConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ModelCleanupConvention.cs
@@ -5,7 +5,6 @@
using System.Linq;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure;
-using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Microsoft.EntityFrameworkCore.Utilities;
namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
@@ -13,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that removes any state that is only used during model building.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ModelCleanupConvention : IModelFinalizingConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/NavigationAttributeConventionBase.cs b/src/EFCore/Metadata/Conventions/NavigationAttributeConventionBase.cs
index 1dcd8acd477..4fbe667d1cf 100644
--- a/src/EFCore/Metadata/Conventions/NavigationAttributeConventionBase.cs
+++ b/src/EFCore/Metadata/Conventions/NavigationAttributeConventionBase.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A base type for conventions that perform configuration based on an attribute applied to a navigation.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The attribute type to look for.
public abstract class NavigationAttributeConventionBase :
IEntityTypeAddedConvention,
diff --git a/src/EFCore/Metadata/Conventions/NavigationBackingFieldAttributeConvention.cs b/src/EFCore/Metadata/Conventions/NavigationBackingFieldAttributeConvention.cs
index f6765675758..6c2bc5c57e0 100644
--- a/src/EFCore/Metadata/Conventions/NavigationBackingFieldAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/NavigationBackingFieldAttributeConvention.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that configures a navigation property as having a backing field
/// based on the attribute.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class NavigationBackingFieldAttributeConvention : NavigationAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/NavigationEagerLoadingConvention.cs b/src/EFCore/Metadata/Conventions/NavigationEagerLoadingConvention.cs
index d180e330696..ee0ebaccaa3 100644
--- a/src/EFCore/Metadata/Conventions/NavigationEagerLoadingConvention.cs
+++ b/src/EFCore/Metadata/Conventions/NavigationEagerLoadingConvention.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the navigations to owned entity types as eager loaded.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class NavigationEagerLoadingConvention : IForeignKeyOwnershipChangedConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/NonNullableConventionBase.cs b/src/EFCore/Metadata/Conventions/NonNullableConventionBase.cs
index 9c8d61cb305..5c5ea86c3ef 100644
--- a/src/EFCore/Metadata/Conventions/NonNullableConventionBase.cs
+++ b/src/EFCore/Metadata/Conventions/NonNullableConventionBase.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A base type for conventions that configure model aspects based on whether the member type
/// is a non-nullable reference type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public abstract class NonNullableConventionBase : IModelFinalizingConvention
{
// For the interpretation of nullability metadata, see
diff --git a/src/EFCore/Metadata/Conventions/NonNullableNavigationConvention.cs b/src/EFCore/Metadata/Conventions/NonNullableNavigationConvention.cs
index a16a33d1c8b..648a323539a 100644
--- a/src/EFCore/Metadata/Conventions/NonNullableNavigationConvention.cs
+++ b/src/EFCore/Metadata/Conventions/NonNullableNavigationConvention.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the non-nullable navigations to principal entity type as required.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class NonNullableNavigationConvention :
NonNullableConventionBase,
INavigationAddedConvention,
diff --git a/src/EFCore/Metadata/Conventions/NonNullableReferencePropertyConvention.cs b/src/EFCore/Metadata/Conventions/NonNullableReferencePropertyConvention.cs
index fa3ae8a111c..86e0f7f7abf 100644
--- a/src/EFCore/Metadata/Conventions/NonNullableReferencePropertyConvention.cs
+++ b/src/EFCore/Metadata/Conventions/NonNullableReferencePropertyConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the properties of non-nullable types as required.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class NonNullableReferencePropertyConvention : NonNullableConventionBase,
IPropertyAddedConvention,
IPropertyFieldChangedConvention
diff --git a/src/EFCore/Metadata/Conventions/NotMappedEntityTypeAttributeConvention.cs b/src/EFCore/Metadata/Conventions/NotMappedEntityTypeAttributeConvention.cs
index 01d0b6e24dc..fb28e30b67c 100644
--- a/src/EFCore/Metadata/Conventions/NotMappedEntityTypeAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/NotMappedEntityTypeAttributeConvention.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that ignores entity types that have the .
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class NotMappedEntityTypeAttributeConvention : EntityTypeAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/NotMappedMemberAttributeConvention.cs b/src/EFCore/Metadata/Conventions/NotMappedMemberAttributeConvention.cs
index 43b4be2ce28..b56772c0b15 100644
--- a/src/EFCore/Metadata/Conventions/NotMappedMemberAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/NotMappedMemberAttributeConvention.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that ignores members on entity types that have the .
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class NotMappedMemberAttributeConvention : IEntityTypeAddedConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/OwnedEntityTypeAttributeConvention.cs b/src/EFCore/Metadata/Conventions/OwnedEntityTypeAttributeConvention.cs
index dfb0fe72af3..364023b109d 100644
--- a/src/EFCore/Metadata/Conventions/OwnedEntityTypeAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/OwnedEntityTypeAttributeConvention.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the entity types that have the as owned.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class OwnedEntityTypeAttributeConvention : EntityTypeAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/OwnedTypesConvention.cs b/src/EFCore/Metadata/Conventions/OwnedTypesConvention.cs
index a7f86652688..3a149567e8b 100644
--- a/src/EFCore/Metadata/Conventions/OwnedTypesConvention.cs
+++ b/src/EFCore/Metadata/Conventions/OwnedTypesConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that configures owned entity types with defining navigation as owned entity types
/// without defining navigation if there's only one navigation of this type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
[Obsolete("Entity types with defining navigations have been replaced by shared-type entity types")]
public class OwnedTypesConvention : IEntityTypeRemovedConvention
{
diff --git a/src/EFCore/Metadata/Conventions/PrecisionAttributeConvention.cs b/src/EFCore/Metadata/Conventions/PrecisionAttributeConvention.cs
index bb5445b8b6f..10d9285e8c7 100644
--- a/src/EFCore/Metadata/Conventions/PrecisionAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/PrecisionAttributeConvention.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the Precision based on the applied on the property.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class PrecisionAttributeConvention : PropertyAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/PropertyAttributeConventionBase.cs b/src/EFCore/Metadata/Conventions/PropertyAttributeConventionBase.cs
index 997943b9ebc..0d7bc59c4c4 100644
--- a/src/EFCore/Metadata/Conventions/PropertyAttributeConventionBase.cs
+++ b/src/EFCore/Metadata/Conventions/PropertyAttributeConventionBase.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A base type for conventions that perform configuration based on an attribute applied to a property.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
/// The attribute type to look for.
public abstract class PropertyAttributeConventionBase : IPropertyAddedConvention, IPropertyFieldChangedConvention
where TAttribute : Attribute
diff --git a/src/EFCore/Metadata/Conventions/PropertyDiscoveryConvention.cs b/src/EFCore/Metadata/Conventions/PropertyDiscoveryConvention.cs
index e81995ef07d..8c2a3cd568e 100644
--- a/src/EFCore/Metadata/Conventions/PropertyDiscoveryConvention.cs
+++ b/src/EFCore/Metadata/Conventions/PropertyDiscoveryConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that adds properties to entity types corresponding to scalar public properties on the CLR type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class PropertyDiscoveryConvention :
IEntityTypeAddedConvention,
IEntityTypeBaseTypeChangedConvention
diff --git a/src/EFCore/Metadata/Conventions/QueryFilterRewritingConvention.cs b/src/EFCore/Metadata/Conventions/QueryFilterRewritingConvention.cs
index 796e9e3e2da..fc1092f3b00 100644
--- a/src/EFCore/Metadata/Conventions/QueryFilterRewritingConvention.cs
+++ b/src/EFCore/Metadata/Conventions/QueryFilterRewritingConvention.cs
@@ -18,6 +18,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// This makes them consistent with how DbSet accesses in the actual queries are represented, which allows for easier processing in the
/// query pipeline.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class QueryFilterRewritingConvention : IModelFinalizingConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/RelationshipDiscoveryConvention.cs b/src/EFCore/Metadata/Conventions/RelationshipDiscoveryConvention.cs
index f9955624947..46f13411aa0 100644
--- a/src/EFCore/Metadata/Conventions/RelationshipDiscoveryConvention.cs
+++ b/src/EFCore/Metadata/Conventions/RelationshipDiscoveryConvention.cs
@@ -21,6 +21,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that configures relationships between entity types based on the navigation properties
/// as long as there is no ambiguity as to which is the corresponding inverse navigation.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class RelationshipDiscoveryConvention :
IEntityTypeAddedConvention,
IEntityTypeIgnoredConvention,
diff --git a/src/EFCore/Metadata/Conventions/RequiredNavigationAttributeConvention.cs b/src/EFCore/Metadata/Conventions/RequiredNavigationAttributeConvention.cs
index d4f284ec600..8a4b801e692 100644
--- a/src/EFCore/Metadata/Conventions/RequiredNavigationAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/RequiredNavigationAttributeConvention.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that configures the principal side of the relationship as required if the
/// is applied on the navigation property to the principal entity type.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class RequiredNavigationAttributeConvention : NavigationAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/RequiredPropertyAttributeConvention.cs b/src/EFCore/Metadata/Conventions/RequiredPropertyAttributeConvention.cs
index 5ebc4ecca96..eb50497d136 100644
--- a/src/EFCore/Metadata/Conventions/RequiredPropertyAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/RequiredPropertyAttributeConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures properties as required if they have the applied.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class RequiredPropertyAttributeConvention : PropertyAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/RuntimeModelConvention.cs b/src/EFCore/Metadata/Conventions/RuntimeModelConvention.cs
index 88393937a19..45d4b28d644 100644
--- a/src/EFCore/Metadata/Conventions/RuntimeModelConvention.cs
+++ b/src/EFCore/Metadata/Conventions/RuntimeModelConvention.cs
@@ -20,6 +20,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that creates an optimized copy of the mutable model. This convention is typically
/// implemented by database providers to update provider annotations when creating a read-only model.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class RuntimeModelConvention : IModelFinalizedConvention
{
///
diff --git a/src/EFCore/Metadata/Conventions/ServicePropertyDiscoveryConvention.cs b/src/EFCore/Metadata/Conventions/ServicePropertyDiscoveryConvention.cs
index 7ba1c10b6e0..d796dda5399 100644
--- a/src/EFCore/Metadata/Conventions/ServicePropertyDiscoveryConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ServicePropertyDiscoveryConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that adds service properties to entity types.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ServicePropertyDiscoveryConvention :
IEntityTypeAddedConvention,
IEntityTypeBaseTypeChangedConvention
diff --git a/src/EFCore/Metadata/Conventions/StringLengthAttributeConvention.cs b/src/EFCore/Metadata/Conventions/StringLengthAttributeConvention.cs
index ae76cddae7a..6facb45f2d6 100644
--- a/src/EFCore/Metadata/Conventions/StringLengthAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/StringLengthAttributeConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the maximum length based on the applied on the property.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class StringLengthAttributeConvention : PropertyAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/TimestampAttributeConvention.cs b/src/EFCore/Metadata/Conventions/TimestampAttributeConvention.cs
index 74ae9046bc2..d502532590b 100644
--- a/src/EFCore/Metadata/Conventions/TimestampAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/TimestampAttributeConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the property as a concurrency token if a is applied to it.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class TimestampAttributeConvention : PropertyAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/TypeMappingConvention.cs b/src/EFCore/Metadata/Conventions/TypeMappingConvention.cs
index 1671246955d..cc6c5629385 100644
--- a/src/EFCore/Metadata/Conventions/TypeMappingConvention.cs
+++ b/src/EFCore/Metadata/Conventions/TypeMappingConvention.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that creates and assigns store type mapping to entity properties.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
[Obsolete("Use IModelRuntimeInitializer.Initialize instead.")]
public class TypeMappingConvention : IModelFinalizingConvention
{
diff --git a/src/EFCore/Metadata/Conventions/UnicodeAttributeConvention.cs b/src/EFCore/Metadata/Conventions/UnicodeAttributeConvention.cs
index 8f9f6b239ea..e3b3cb5266c 100644
--- a/src/EFCore/Metadata/Conventions/UnicodeAttributeConvention.cs
+++ b/src/EFCore/Metadata/Conventions/UnicodeAttributeConvention.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that configures the Unicode based on the applied on the property.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class UnicodeAttributeConvention : PropertyAttributeConventionBase
{
///
diff --git a/src/EFCore/Metadata/Conventions/ValidatingConvention.cs b/src/EFCore/Metadata/Conventions/ValidatingConvention.cs
index 46299426a57..3b8b347f41b 100644
--- a/src/EFCore/Metadata/Conventions/ValidatingConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ValidatingConvention.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
///
/// A convention that checks whether the model is valid.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
[Obsolete("The validation is no longer performed by a convention")]
public class ValidatingConvention : IModelFinalizedConvention
{
diff --git a/src/EFCore/Metadata/Conventions/ValueGenerationConvention.cs b/src/EFCore/Metadata/Conventions/ValueGenerationConvention.cs
index 420135a0ac9..8f524743d3b 100644
--- a/src/EFCore/Metadata/Conventions/ValueGenerationConvention.cs
+++ b/src/EFCore/Metadata/Conventions/ValueGenerationConvention.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions
/// A convention that configures store value generation as on properties that are
/// part of the primary key and not part of any foreign keys.
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public class ValueGenerationConvention :
IEntityTypePrimaryKeyChangedConvention,
IForeignKeyAddedConvention,
diff --git a/src/EFCore/Metadata/DependencyInjectionMethodParameterBinding.cs b/src/EFCore/Metadata/DependencyInjectionMethodParameterBinding.cs
index 2d34be16b66..e0b669a0d57 100644
--- a/src/EFCore/Metadata/DependencyInjectionMethodParameterBinding.cs
+++ b/src/EFCore/Metadata/DependencyInjectionMethodParameterBinding.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// also have and associated , to a parameter in a constructor,
/// factory method, or similar.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class DependencyInjectionMethodParameterBinding : DependencyInjectionParameterBinding
{
///
diff --git a/src/EFCore/Metadata/DependencyInjectionParameterBinding.cs b/src/EFCore/Metadata/DependencyInjectionParameterBinding.cs
index fb986b67d42..cb1038f72b1 100644
--- a/src/EFCore/Metadata/DependencyInjectionParameterBinding.cs
+++ b/src/EFCore/Metadata/DependencyInjectionParameterBinding.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// also have and associated , to a parameter in a constructor,
/// factory method, or similar.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class DependencyInjectionParameterBinding : ServiceParameterBinding
{
private static readonly MethodInfo _getServiceMethod
diff --git a/src/EFCore/Metadata/EntityTypeFullNameComparer.cs b/src/EFCore/Metadata/EntityTypeFullNameComparer.cs
index b6750efdc75..d2fe6135fa9 100644
--- a/src/EFCore/Metadata/EntityTypeFullNameComparer.cs
+++ b/src/EFCore/Metadata/EntityTypeFullNameComparer.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions for more information.
+ ///
public sealed class EntityTypeFullNameComparer : IComparer, IEqualityComparer
{
private EntityTypeFullNameComparer()
diff --git a/src/EFCore/Metadata/EntityTypeParameterBinding.cs b/src/EFCore/Metadata/EntityTypeParameterBinding.cs
index 93ff14bb0e9..5b30409ac2a 100644
--- a/src/EFCore/Metadata/EntityTypeParameterBinding.cs
+++ b/src/EFCore/Metadata/EntityTypeParameterBinding.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Describes the binding of a , which may or may not also have and associated
/// , to a parameter in a constructor, factory method, or similar.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class EntityTypeParameterBinding : ServiceParameterBinding
{
///
diff --git a/src/EFCore/Metadata/FactoryMethodBinding.cs b/src/EFCore/Metadata/FactoryMethodBinding.cs
index a8d7bba8505..e58c6948889 100644
--- a/src/EFCore/Metadata/FactoryMethodBinding.cs
+++ b/src/EFCore/Metadata/FactoryMethodBinding.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Defines the binding of parameters to a factory method.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class FactoryMethodBinding : InstantiationBinding
{
private readonly object? _factoryInstance;
diff --git a/src/EFCore/Metadata/ForeignKeyComparer.cs b/src/EFCore/Metadata/ForeignKeyComparer.cs
index 3d96cea2215..b7ff1be4a67 100644
--- a/src/EFCore/Metadata/ForeignKeyComparer.cs
+++ b/src/EFCore/Metadata/ForeignKeyComparer.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions for more information.
+ ///
public sealed class ForeignKeyComparer : IEqualityComparer, IComparer
{
private ForeignKeyComparer()
diff --git a/src/EFCore/Metadata/IClrCollectionAccessor.cs b/src/EFCore/Metadata/IClrCollectionAccessor.cs
index ab78fb0121d..7c637d60b2b 100644
--- a/src/EFCore/Metadata/IClrCollectionAccessor.cs
+++ b/src/EFCore/Metadata/IClrCollectionAccessor.cs
@@ -6,9 +6,18 @@
namespace Microsoft.EntityFrameworkCore.Metadata
{
///
- /// Represents operations backed by compiled delegates that allow manipulation of collections
- /// on navigation properties.
+ ///
+ /// Represents operations backed by compiled delegates that allow manipulation of collections
+ /// on navigation properties.
+ ///
+ ///
+ /// This type is typically used by database providers (and other extensions). It is generally
+ /// not used in application code.
+ ///
///
+ ///
+ /// See Implementation of database providers and extensions for more information.
+ ///
public interface IClrCollectionAccessor
{
///
diff --git a/src/EFCore/Metadata/IClrPropertyGetter.cs b/src/EFCore/Metadata/IClrPropertyGetter.cs
index 5bbc5a4d57b..2a6ffd24597 100644
--- a/src/EFCore/Metadata/IClrPropertyGetter.cs
+++ b/src/EFCore/Metadata/IClrPropertyGetter.cs
@@ -4,9 +4,18 @@
namespace Microsoft.EntityFrameworkCore.Metadata
{
///
- /// Represents operations backed by compiled delegates that support getting the value
- /// of a mapped EF property.
+ ///
+ /// Represents operations backed by compiled delegates that support getting the value
+ /// of a mapped EF property.
+ ///
+ ///
+ /// This type is typically used by database providers (and other extensions). It is generally
+ /// not used in application code.
+ ///
///
+ ///
+ /// See Implementation of database providers and extensions for more information.
+ ///
public interface IClrPropertyGetter
{
///
diff --git a/src/EFCore/Metadata/IClrPropertySetter.cs b/src/EFCore/Metadata/IClrPropertySetter.cs
index 3197892992c..62984df561f 100644
--- a/src/EFCore/Metadata/IClrPropertySetter.cs
+++ b/src/EFCore/Metadata/IClrPropertySetter.cs
@@ -4,9 +4,18 @@
namespace Microsoft.EntityFrameworkCore.Metadata
{
///
- /// Represents operations backed by compiled delegates that support setting the value
- /// of a mapped EF property.
+ ///
+ /// Represents operations backed by compiled delegates that support setting the value
+ /// of a mapped EF property.
+ ///
+ ///
+ /// This type is typically used by database providers (and other extensions). It is generally
+ /// not used in application code.
+ ///
///
+ ///
+ /// See Implementation of database providers and extensions for more information.
+ ///
public interface IClrPropertySetter
{
///
diff --git a/src/EFCore/Metadata/IConstructorBindingFactory.cs b/src/EFCore/Metadata/IConstructorBindingFactory.cs
index 897ed61a327..2d3114ac598 100644
--- a/src/EFCore/Metadata/IConstructorBindingFactory.cs
+++ b/src/EFCore/Metadata/IConstructorBindingFactory.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public interface IConstructorBindingFactory
{
///
diff --git a/src/EFCore/Metadata/IConventionAnnotatable.cs b/src/EFCore/Metadata/IConventionAnnotatable.cs
index ed33a566365..173e4f52bd7 100644
--- a/src/EFCore/Metadata/IConventionAnnotatable.cs
+++ b/src/EFCore/Metadata/IConventionAnnotatable.cs
@@ -18,6 +18,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionAnnotatable : IReadOnlyAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IConventionAnnotation.cs b/src/EFCore/Metadata/IConventionAnnotation.cs
index cb63b5c4bc6..483da66c40a 100644
--- a/src/EFCore/Metadata/IConventionAnnotation.cs
+++ b/src/EFCore/Metadata/IConventionAnnotation.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// not used in application code.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionAnnotation : IAnnotation
{
///
diff --git a/src/EFCore/Metadata/IConventionEntityType.cs b/src/EFCore/Metadata/IConventionEntityType.cs
index 9c05ea830e8..46d83bbe2d6 100644
--- a/src/EFCore/Metadata/IConventionEntityType.cs
+++ b/src/EFCore/Metadata/IConventionEntityType.cs
@@ -23,6 +23,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionEntityType : IReadOnlyEntityType, IConventionTypeBase
{
///
diff --git a/src/EFCore/Metadata/IConventionForeignKey.cs b/src/EFCore/Metadata/IConventionForeignKey.cs
index 0c666c1377d..c47803cc93f 100644
--- a/src/EFCore/Metadata/IConventionForeignKey.cs
+++ b/src/EFCore/Metadata/IConventionForeignKey.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionForeignKey : IReadOnlyForeignKey, IConventionAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IConventionIndex.cs b/src/EFCore/Metadata/IConventionIndex.cs
index 79cc0f50839..dfb01361d7a 100644
--- a/src/EFCore/Metadata/IConventionIndex.cs
+++ b/src/EFCore/Metadata/IConventionIndex.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionIndex : IReadOnlyIndex, IConventionAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IConventionKey.cs b/src/EFCore/Metadata/IConventionKey.cs
index b14434e55aa..b25e672b254 100644
--- a/src/EFCore/Metadata/IConventionKey.cs
+++ b/src/EFCore/Metadata/IConventionKey.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionKey : IReadOnlyKey, IConventionAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IConventionModel.cs b/src/EFCore/Metadata/IConventionModel.cs
index f26a414e7d6..a52347ec001 100644
--- a/src/EFCore/Metadata/IConventionModel.cs
+++ b/src/EFCore/Metadata/IConventionModel.cs
@@ -21,6 +21,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionModel : IReadOnlyModel, IConventionAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IConventionNavigation.cs b/src/EFCore/Metadata/IConventionNavigation.cs
index 294a81c583e..69476f8ca0a 100644
--- a/src/EFCore/Metadata/IConventionNavigation.cs
+++ b/src/EFCore/Metadata/IConventionNavigation.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionNavigation : IReadOnlyNavigation, IConventionNavigationBase
{
///
diff --git a/src/EFCore/Metadata/IConventionNavigationBase.cs b/src/EFCore/Metadata/IConventionNavigationBase.cs
index 6b7886203eb..c207af07a57 100644
--- a/src/EFCore/Metadata/IConventionNavigationBase.cs
+++ b/src/EFCore/Metadata/IConventionNavigationBase.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionNavigationBase : IReadOnlyNavigationBase, IConventionPropertyBase
{
///
diff --git a/src/EFCore/Metadata/IConventionProperty.cs b/src/EFCore/Metadata/IConventionProperty.cs
index b836b19bc63..305c61dff8b 100644
--- a/src/EFCore/Metadata/IConventionProperty.cs
+++ b/src/EFCore/Metadata/IConventionProperty.cs
@@ -21,6 +21,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionProperty : IReadOnlyProperty, IConventionPropertyBase
{
///
diff --git a/src/EFCore/Metadata/IConventionPropertyBase.cs b/src/EFCore/Metadata/IConventionPropertyBase.cs
index f3896959eea..ac1d067fcc6 100644
--- a/src/EFCore/Metadata/IConventionPropertyBase.cs
+++ b/src/EFCore/Metadata/IConventionPropertyBase.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionPropertyBase : IReadOnlyPropertyBase, IConventionAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IConventionServiceProperty.cs b/src/EFCore/Metadata/IConventionServiceProperty.cs
index 8f328e9de15..10e04f03fe2 100644
--- a/src/EFCore/Metadata/IConventionServiceProperty.cs
+++ b/src/EFCore/Metadata/IConventionServiceProperty.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionServiceProperty : IReadOnlyServiceProperty, IConventionPropertyBase
{
///
diff --git a/src/EFCore/Metadata/IConventionSkipNavigation.cs b/src/EFCore/Metadata/IConventionSkipNavigation.cs
index f27f4f897cb..2bb4c410b84 100644
--- a/src/EFCore/Metadata/IConventionSkipNavigation.cs
+++ b/src/EFCore/Metadata/IConventionSkipNavigation.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionSkipNavigation : IReadOnlySkipNavigation, IConventionNavigationBase
{
///
diff --git a/src/EFCore/Metadata/IConventionTypeBase.cs b/src/EFCore/Metadata/IConventionTypeBase.cs
index dcf4bf9f6a4..7283e122220 100644
--- a/src/EFCore/Metadata/IConventionTypeBase.cs
+++ b/src/EFCore/Metadata/IConventionTypeBase.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Model building conventions for more information.
+ ///
public interface IConventionTypeBase : IReadOnlyTypeBase, IConventionAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IDesignTimeModel.cs b/src/EFCore/Metadata/IDesignTimeModel.cs
index f8cfab78ce0..c055ad3b867 100644
--- a/src/EFCore/Metadata/IDesignTimeModel.cs
+++ b/src/EFCore/Metadata/IDesignTimeModel.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Implementation of database providers and extensions for more information.
+ ///
public interface IDesignTimeModel
{
///
diff --git a/src/EFCore/Metadata/IEntityType.cs b/src/EFCore/Metadata/IEntityType.cs
index 87de3e8b25c..0769f799d0b 100644
--- a/src/EFCore/Metadata/IEntityType.cs
+++ b/src/EFCore/Metadata/IEntityType.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents an entity type in a model.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IEntityType : IReadOnlyEntityType, ITypeBase
{
///
diff --git a/src/EFCore/Metadata/IForeignKey.cs b/src/EFCore/Metadata/IForeignKey.cs
index 645e3992506..6d38e91accf 100644
--- a/src/EFCore/Metadata/IForeignKey.cs
+++ b/src/EFCore/Metadata/IForeignKey.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a relationship where a foreign key composed of properties on the dependent entity type
/// references a corresponding primary or alternate key on the principal entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IForeignKey : IReadOnlyForeignKey, IAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IIndex.cs b/src/EFCore/Metadata/IIndex.cs
index 0531e4dd56f..71c70a14b82 100644
--- a/src/EFCore/Metadata/IIndex.cs
+++ b/src/EFCore/Metadata/IIndex.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents an index on a set of properties.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IIndex : IReadOnlyIndex, IAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IKey.cs b/src/EFCore/Metadata/IKey.cs
index bf5d9c0bf8c..4ad1393026d 100644
--- a/src/EFCore/Metadata/IKey.cs
+++ b/src/EFCore/Metadata/IKey.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a primary or alternate key on an entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IKey : IReadOnlyKey, IAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IMetadataReference.cs b/src/EFCore/Metadata/IMetadataReference.cs
index 01812aa8957..ccac5864070 100644
--- a/src/EFCore/Metadata/IMetadataReference.cs
+++ b/src/EFCore/Metadata/IMetadataReference.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a reference to a metadata object. If the metadata object instance is replaced
/// this will be updated with the new object.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The metadata type
public interface IMetadataReference : IDisposable
{
diff --git a/src/EFCore/Metadata/IModel.cs b/src/EFCore/Metadata/IModel.cs
index cbbf6378d9f..c65afd13c43 100644
--- a/src/EFCore/Metadata/IModel.cs
+++ b/src/EFCore/Metadata/IModel.cs
@@ -10,7 +10,6 @@
using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
-using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Utilities;
using Microsoft.Extensions.DependencyInjection;
@@ -30,6 +29,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IModel : IReadOnlyModel, IAnnotatable
{
///
@@ -37,6 +39,9 @@ public interface IModel : IReadOnlyModel, IAnnotatable
/// or the given CLR type is being used by shared type entity type
/// or the entity type has a defining navigation.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The name of the entity type to find.
/// The entity type, or if none is found.
new IEntityType? FindEntityType(string name);
@@ -45,6 +50,9 @@ public interface IModel : IReadOnlyModel, IAnnotatable
/// Gets the entity type for the given name, defining navigation name
/// and the defining entity type. Returns if no matching entity type is found.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The name of the entity type to find.
/// The defining navigation of the entity type to find.
/// The defining entity type of the entity type to find.
@@ -60,6 +68,9 @@ public interface IModel : IReadOnlyModel, IAnnotatable
/// or the given CLR type is being used by shared type entity type
/// or the entity type has a defining navigation.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The type to find the corresponding entity type for.
/// The entity type, or if none is found.
IEntityType? FindRuntimeEntityType(Type type)
@@ -75,6 +86,9 @@ public interface IModel : IReadOnlyModel, IAnnotatable
///
/// Gets all entity types defined in the model.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// All entity types defined in the model.
new IEnumerable GetEntityTypes();
@@ -107,6 +121,9 @@ RuntimeModelDependencies GetModelDependencies()
/// the given CLR type is found or the given CLR type is being used by shared type entity type
/// or the entity type has a defining navigation.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The type to find the corresponding entity type for.
/// The entity type, or if none is found.
new IEntityType? FindEntityType(Type type);
@@ -115,6 +132,9 @@ RuntimeModelDependencies GetModelDependencies()
/// Gets the entity type for the given name, defining navigation name
/// and the defining entity type. Returns if no matching entity type is found.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The type of the entity type to find.
/// The defining navigation of the entity type to find.
/// The defining entity type of the entity type to find.
@@ -128,6 +148,9 @@ RuntimeModelDependencies GetModelDependencies()
///
/// Gets the entity types matching the given type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The type of the entity type to find.
/// The entity types found.
[DebuggerStepThrough]
@@ -136,6 +159,9 @@ RuntimeModelDependencies GetModelDependencies()
///
/// Returns the entity types corresponding to the least derived types from the given.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The base type.
/// An optional condition for filtering entity types.
/// List of entity types corresponding to the least derived types from the given.
@@ -148,18 +174,27 @@ RuntimeModelDependencies GetModelDependencies()
///
/// Gets a value indicating whether the given reprensents an indexer access.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The to check.
bool IsIndexerMethod(MethodInfo methodInfo);
///
/// Gets all the pre-convention configurations.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The pre-convention configurations.
IEnumerable GetTypeMappingConfigurations();
///
/// Finds the pre-convention configuration for a given scalar .
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The CLR type.
/// The pre-convention configuration or if none is found.
ITypeMappingConfiguration? FindTypeMappingConfiguration(Type scalarType);
diff --git a/src/EFCore/Metadata/IMutableAnnotatable.cs b/src/EFCore/Metadata/IMutableAnnotatable.cs
index d57643f2251..01e593d1ddf 100644
--- a/src/EFCore/Metadata/IMutableAnnotatable.cs
+++ b/src/EFCore/Metadata/IMutableAnnotatable.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// not used in application code.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableAnnotatable : IReadOnlyAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IMutableEntityType.cs b/src/EFCore/Metadata/IMutableEntityType.cs
index 60243354ff9..a984f51ba3c 100644
--- a/src/EFCore/Metadata/IMutableEntityType.cs
+++ b/src/EFCore/Metadata/IMutableEntityType.cs
@@ -22,6 +22,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableEntityType : IReadOnlyEntityType, IMutableTypeBase
{
///
diff --git a/src/EFCore/Metadata/IMutableForeignKey.cs b/src/EFCore/Metadata/IMutableForeignKey.cs
index 652c7c992b1..8100970761b 100644
--- a/src/EFCore/Metadata/IMutableForeignKey.cs
+++ b/src/EFCore/Metadata/IMutableForeignKey.cs
@@ -18,6 +18,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableForeignKey : IReadOnlyForeignKey, IMutableAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IMutableIndex.cs b/src/EFCore/Metadata/IMutableIndex.cs
index b6b2f0dabd7..75e6ee16c2e 100644
--- a/src/EFCore/Metadata/IMutableIndex.cs
+++ b/src/EFCore/Metadata/IMutableIndex.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableIndex : IReadOnlyIndex, IMutableAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IMutableKey.cs b/src/EFCore/Metadata/IMutableKey.cs
index 4ae7c0b6b1f..7aa7d13f279 100644
--- a/src/EFCore/Metadata/IMutableKey.cs
+++ b/src/EFCore/Metadata/IMutableKey.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableKey : IReadOnlyKey, IMutableAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IMutableModel.cs b/src/EFCore/Metadata/IMutableModel.cs
index 35023980e65..0607efa83ee 100644
--- a/src/EFCore/Metadata/IMutableModel.cs
+++ b/src/EFCore/Metadata/IMutableModel.cs
@@ -20,6 +20,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableModel : IReadOnlyModel, IMutableAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IMutableNavigation.cs b/src/EFCore/Metadata/IMutableNavigation.cs
index 287d898e955..2fd0802de38 100644
--- a/src/EFCore/Metadata/IMutableNavigation.cs
+++ b/src/EFCore/Metadata/IMutableNavigation.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableNavigation : IReadOnlyNavigation, IMutableNavigationBase
{
///
diff --git a/src/EFCore/Metadata/IMutableNavigationBase.cs b/src/EFCore/Metadata/IMutableNavigationBase.cs
index 06b1d7b3573..c636847a8be 100644
--- a/src/EFCore/Metadata/IMutableNavigationBase.cs
+++ b/src/EFCore/Metadata/IMutableNavigationBase.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableNavigationBase : IReadOnlyNavigationBase, IMutablePropertyBase
{
///
diff --git a/src/EFCore/Metadata/IMutableProperty.cs b/src/EFCore/Metadata/IMutableProperty.cs
index cb7be02d21a..004b7371589 100644
--- a/src/EFCore/Metadata/IMutableProperty.cs
+++ b/src/EFCore/Metadata/IMutableProperty.cs
@@ -20,6 +20,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableProperty : IReadOnlyProperty, IMutablePropertyBase
{
///
diff --git a/src/EFCore/Metadata/IMutablePropertyBase.cs b/src/EFCore/Metadata/IMutablePropertyBase.cs
index dc85746efba..948f209b67e 100644
--- a/src/EFCore/Metadata/IMutablePropertyBase.cs
+++ b/src/EFCore/Metadata/IMutablePropertyBase.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutablePropertyBase : IReadOnlyPropertyBase, IMutableAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IMutableServiceProperty.cs b/src/EFCore/Metadata/IMutableServiceProperty.cs
index 7f016fe8693..f929fd971bf 100644
--- a/src/EFCore/Metadata/IMutableServiceProperty.cs
+++ b/src/EFCore/Metadata/IMutableServiceProperty.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableServiceProperty : IReadOnlyServiceProperty, IMutablePropertyBase
{
///
diff --git a/src/EFCore/Metadata/IMutableSkipNavigation.cs b/src/EFCore/Metadata/IMutableSkipNavigation.cs
index 46130c2439e..74bcb15626f 100644
--- a/src/EFCore/Metadata/IMutableSkipNavigation.cs
+++ b/src/EFCore/Metadata/IMutableSkipNavigation.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableSkipNavigation : IReadOnlySkipNavigation, IMutableNavigationBase
{
///
diff --git a/src/EFCore/Metadata/IMutableTypeBase.cs b/src/EFCore/Metadata/IMutableTypeBase.cs
index d6a5c25eeda..bc18d3397a8 100644
--- a/src/EFCore/Metadata/IMutableTypeBase.cs
+++ b/src/EFCore/Metadata/IMutableTypeBase.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Once the model is built, represents a read-only view of the same metadata.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IMutableTypeBase : IReadOnlyTypeBase, IMutableAnnotatable
{
///
diff --git a/src/EFCore/Metadata/INavigation.cs b/src/EFCore/Metadata/INavigation.cs
index c0e181976eb..1717e5e7027 100644
--- a/src/EFCore/Metadata/INavigation.cs
+++ b/src/EFCore/Metadata/INavigation.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a navigation property which can be used to navigate a relationship.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface INavigation : IReadOnlyNavigation, INavigationBase
{
///
diff --git a/src/EFCore/Metadata/INavigationBase.cs b/src/EFCore/Metadata/INavigationBase.cs
index d009986e426..74aa404a811 100644
--- a/src/EFCore/Metadata/INavigationBase.cs
+++ b/src/EFCore/Metadata/INavigationBase.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a navigation property which can be used to navigate a relationship.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface INavigationBase : IReadOnlyNavigationBase, IPropertyBase
{
///
diff --git a/src/EFCore/Metadata/IParameterBindingFactories.cs b/src/EFCore/Metadata/IParameterBindingFactories.cs
index 4eea833076d..e7ffa8a3d7e 100644
--- a/src/EFCore/Metadata/IParameterBindingFactories.cs
+++ b/src/EFCore/Metadata/IParameterBindingFactories.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public interface IParameterBindingFactories
{
///
diff --git a/src/EFCore/Metadata/IParameterBindingFactory.cs b/src/EFCore/Metadata/IParameterBindingFactory.cs
index db9b6f353c2..1252f5dbc64 100644
--- a/src/EFCore/Metadata/IParameterBindingFactory.cs
+++ b/src/EFCore/Metadata/IParameterBindingFactory.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public interface IParameterBindingFactory
{
///
diff --git a/src/EFCore/Metadata/IProperty.cs b/src/EFCore/Metadata/IProperty.cs
index 47ed5c0b2c8..3e5ac4ac255 100644
--- a/src/EFCore/Metadata/IProperty.cs
+++ b/src/EFCore/Metadata/IProperty.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a scalar property of an entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IProperty : IReadOnlyProperty, IPropertyBase
{
///
diff --git a/src/EFCore/Metadata/IPropertyBase.cs b/src/EFCore/Metadata/IPropertyBase.cs
index 24fa42eceb6..5a6802bfb61 100644
--- a/src/EFCore/Metadata/IPropertyBase.cs
+++ b/src/EFCore/Metadata/IPropertyBase.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Base interface for navigations and properties.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IPropertyBase : IReadOnlyPropertyBase, IAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IPropertyParameterBindingFactory.cs b/src/EFCore/Metadata/IPropertyParameterBindingFactory.cs
index 823dd77d7ab..ae8adfc8b21 100644
--- a/src/EFCore/Metadata/IPropertyParameterBindingFactory.cs
+++ b/src/EFCore/Metadata/IPropertyParameterBindingFactory.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public interface IPropertyParameterBindingFactory
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyEntityType.cs b/src/EFCore/Metadata/IReadOnlyEntityType.cs
index 2a0ec6b7436..c7196b89aff 100644
--- a/src/EFCore/Metadata/IReadOnlyEntityType.cs
+++ b/src/EFCore/Metadata/IReadOnlyEntityType.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents an entity type in a model.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyEntityType : IReadOnlyTypeBase
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyForeignKey.cs b/src/EFCore/Metadata/IReadOnlyForeignKey.cs
index 0165085a6f5..407932a436c 100644
--- a/src/EFCore/Metadata/IReadOnlyForeignKey.cs
+++ b/src/EFCore/Metadata/IReadOnlyForeignKey.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a relationship where a foreign key composed of properties on the dependent entity type
/// references a corresponding primary or alternate key on the principal entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyForeignKey : IReadOnlyAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyIndex.cs b/src/EFCore/Metadata/IReadOnlyIndex.cs
index ca769009c20..00f732c578c 100644
--- a/src/EFCore/Metadata/IReadOnlyIndex.cs
+++ b/src/EFCore/Metadata/IReadOnlyIndex.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents an index on a set of properties.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyIndex : IReadOnlyAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyKey.cs b/src/EFCore/Metadata/IReadOnlyKey.cs
index af9b7b42a1e..c72d8f4bae5 100644
--- a/src/EFCore/Metadata/IReadOnlyKey.cs
+++ b/src/EFCore/Metadata/IReadOnlyKey.cs
@@ -11,6 +11,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a primary or alternate key on an entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyKey : IReadOnlyAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyModel.cs b/src/EFCore/Metadata/IReadOnlyModel.cs
index cf6a49343d1..f87df556a26 100644
--- a/src/EFCore/Metadata/IReadOnlyModel.cs
+++ b/src/EFCore/Metadata/IReadOnlyModel.cs
@@ -16,12 +16,18 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// the database. A model is typically created by overriding the
/// method on a derived .
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyModel : IReadOnlyAnnotatable
{
///
/// Gets the default change tracking strategy being used for entities in the model. This strategy indicates how the
/// context detects changes to properties for an instance of an entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The change tracking strategy.
ChangeTrackingStrategy GetChangeTrackingStrategy();
@@ -35,6 +41,9 @@ public interface IReadOnlyModel : IReadOnlyAnnotatable
/// be used for any property for which no override has been specified.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The access mode being used.
[DebuggerStepThrough]
PropertyAccessMode GetPropertyAccessMode();
@@ -42,12 +51,18 @@ public interface IReadOnlyModel : IReadOnlyAnnotatable
///
/// Gets the EF Core assembly version used to build this model.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
string? GetProductVersion()
=> this[CoreAnnotationNames.ProductVersion] as string;
///
/// Gets a value indicating whether the CLR type is used by shared type entities in the model.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The CLR type.
/// Whether the CLR type is used by shared type entities in the model.
bool IsShared(Type type);
@@ -55,6 +70,9 @@ public interface IReadOnlyModel : IReadOnlyAnnotatable
///
/// Gets all entity types defined in the model.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// All entity types defined in the model.
IEnumerable GetEntityTypes();
@@ -63,6 +81,9 @@ public interface IReadOnlyModel : IReadOnlyAnnotatable
/// or the given CLR type is being used by shared type entity type
/// or the entity type has a defining navigation.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The name of the entity type to find.
/// The entity type, or if none is found.
IReadOnlyEntityType? FindEntityType(string name);
@@ -71,6 +92,9 @@ public interface IReadOnlyModel : IReadOnlyAnnotatable
/// Gets the entity type for the given base name, defining navigation name
/// and the defining entity type. Returns if no matching entity type is found.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The name of the entity type to find.
/// The defining navigation of the entity type to find.
/// The defining entity type of the entity type to find.
@@ -85,6 +109,9 @@ public interface IReadOnlyModel : IReadOnlyAnnotatable
/// the given CLR type is found or the given CLR type is being used by shared type entity type
/// or the entity type has a defining navigation.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The type to find the corresponding entity type for.
/// The entity type, or if none is found.
IReadOnlyEntityType? FindEntityType(Type type);
@@ -93,6 +120,9 @@ public interface IReadOnlyModel : IReadOnlyAnnotatable
/// Gets the entity type for the given type, defining navigation name
/// and the defining entity type. Returns if no matching entity type is found.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The type of the entity type to find.
/// The defining navigation of the entity type to find.
/// The defining entity type of the entity type to find.
@@ -105,6 +135,9 @@ public interface IReadOnlyModel : IReadOnlyAnnotatable
///
/// Gets the entity types matching the given type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The type of the entity type to find.
/// The entity types found.
IEnumerable FindEntityTypes(Type type);
@@ -112,6 +145,9 @@ public interface IReadOnlyModel : IReadOnlyAnnotatable
///
/// Returns the entity types corresponding to the least derived types from the given.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
/// The base type.
/// An optional condition for filtering entity types.
/// List of entity types corresponding to the least derived types from the given.
@@ -171,6 +207,10 @@ private static int GetDerivedLevel(Type? derivedType, Dictionary deri
/// It is designed for debugging only and may change arbitrarily between releases.
///
///
+ ///
+ /// See Modeling entity types and relationships and
+ /// EF Core debug views for more information.
+ ///
/// Options for generating the string.
/// The number of indent spaces to use before each new line.
/// A human-readable representation.
diff --git a/src/EFCore/Metadata/IReadOnlyNavigation.cs b/src/EFCore/Metadata/IReadOnlyNavigation.cs
index 561ad7100a5..bc3136096b1 100644
--- a/src/EFCore/Metadata/IReadOnlyNavigation.cs
+++ b/src/EFCore/Metadata/IReadOnlyNavigation.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a navigation property which can be used to navigate a relationship.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyNavigation : IReadOnlyNavigationBase
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyNavigationBase.cs b/src/EFCore/Metadata/IReadOnlyNavigationBase.cs
index 36df11637f0..c93804aa668 100644
--- a/src/EFCore/Metadata/IReadOnlyNavigationBase.cs
+++ b/src/EFCore/Metadata/IReadOnlyNavigationBase.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a navigation property which can be used to navigate a relationship.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyNavigationBase : IReadOnlyPropertyBase
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyProperty.cs b/src/EFCore/Metadata/IReadOnlyProperty.cs
index fcfa8d90a4f..2c537139e0e 100644
--- a/src/EFCore/Metadata/IReadOnlyProperty.cs
+++ b/src/EFCore/Metadata/IReadOnlyProperty.cs
@@ -11,7 +11,6 @@
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Microsoft.EntityFrameworkCore.Utilities;
using Microsoft.EntityFrameworkCore.ValueGeneration;
namespace Microsoft.EntityFrameworkCore.Metadata
@@ -19,6 +18,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a scalar property of an entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyProperty : IReadOnlyPropertyBase
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyPropertyBase.cs b/src/EFCore/Metadata/IReadOnlyPropertyBase.cs
index 82051adf878..741b33d24c2 100644
--- a/src/EFCore/Metadata/IReadOnlyPropertyBase.cs
+++ b/src/EFCore/Metadata/IReadOnlyPropertyBase.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Base type for navigations and properties.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyPropertyBase : IReadOnlyAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyServiceProperty.cs b/src/EFCore/Metadata/IReadOnlyServiceProperty.cs
index 7e8592248ad..335e515215a 100644
--- a/src/EFCore/Metadata/IReadOnlyServiceProperty.cs
+++ b/src/EFCore/Metadata/IReadOnlyServiceProperty.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a property on an entity type that represents an
/// injected service from the .
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyServiceProperty : IReadOnlyPropertyBase
{
///
diff --git a/src/EFCore/Metadata/IReadOnlySkipNavigation.cs b/src/EFCore/Metadata/IReadOnlySkipNavigation.cs
index ab53d0148ec..d57a6c84442 100644
--- a/src/EFCore/Metadata/IReadOnlySkipNavigation.cs
+++ b/src/EFCore/Metadata/IReadOnlySkipNavigation.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a navigation property that is part of a relationship
/// that is forwarded through a third entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlySkipNavigation : IReadOnlyNavigationBase
{
///
diff --git a/src/EFCore/Metadata/IReadOnlyTypeBase.cs b/src/EFCore/Metadata/IReadOnlyTypeBase.cs
index cea5f69444d..484c487d173 100644
--- a/src/EFCore/Metadata/IReadOnlyTypeBase.cs
+++ b/src/EFCore/Metadata/IReadOnlyTypeBase.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a type in the model.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IReadOnlyTypeBase : IReadOnlyAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IServiceProperty.cs b/src/EFCore/Metadata/IServiceProperty.cs
index 34cb2ce79b8..4e02855f093 100644
--- a/src/EFCore/Metadata/IServiceProperty.cs
+++ b/src/EFCore/Metadata/IServiceProperty.cs
@@ -7,6 +7,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a property on an entity type that represents an
/// injected service from the .
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface IServiceProperty : IReadOnlyServiceProperty, IPropertyBase
{
///
diff --git a/src/EFCore/Metadata/ISkipNavigation.cs b/src/EFCore/Metadata/ISkipNavigation.cs
index a1689837033..7cae9fffe35 100644
--- a/src/EFCore/Metadata/ISkipNavigation.cs
+++ b/src/EFCore/Metadata/ISkipNavigation.cs
@@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a navigation property that is part of a relationship
/// that is forwarded through a third entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface ISkipNavigation : IReadOnlySkipNavigation, INavigationBase
{
///
diff --git a/src/EFCore/Metadata/ITypeBase.cs b/src/EFCore/Metadata/ITypeBase.cs
index 2fc0540ac32..66cec090fe8 100644
--- a/src/EFCore/Metadata/ITypeBase.cs
+++ b/src/EFCore/Metadata/ITypeBase.cs
@@ -8,6 +8,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a type in the model.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface ITypeBase : IReadOnlyTypeBase, IAnnotatable
{
///
diff --git a/src/EFCore/Metadata/ITypeMappingConfiguration.cs b/src/EFCore/Metadata/ITypeMappingConfiguration.cs
index 29929ab7828..729be9285fc 100644
--- a/src/EFCore/Metadata/ITypeMappingConfiguration.cs
+++ b/src/EFCore/Metadata/ITypeMappingConfiguration.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents the configuration for a scalar type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public interface ITypeMappingConfiguration : IAnnotatable
{
///
diff --git a/src/EFCore/Metadata/IndexComparer.cs b/src/EFCore/Metadata/IndexComparer.cs
index 542093fee6e..80daa3da51d 100644
--- a/src/EFCore/Metadata/IndexComparer.cs
+++ b/src/EFCore/Metadata/IndexComparer.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions for more information.
+ ///
public sealed class IndexComparer : IEqualityComparer, IComparer
{
private IndexComparer()
diff --git a/src/EFCore/Metadata/InstantiationBinding.cs b/src/EFCore/Metadata/InstantiationBinding.cs
index 461c5128733..e3c5dc9f2f8 100644
--- a/src/EFCore/Metadata/InstantiationBinding.cs
+++ b/src/EFCore/Metadata/InstantiationBinding.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Defines how to create an entity instance through the binding of EF model properties to, for
/// example, constructor parameters or parameters of a factory method.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public abstract class InstantiationBinding
{
///
diff --git a/src/EFCore/Metadata/KeyComparer.cs b/src/EFCore/Metadata/KeyComparer.cs
index a4000fa5d9a..34b8dee3507 100644
--- a/src/EFCore/Metadata/KeyComparer.cs
+++ b/src/EFCore/Metadata/KeyComparer.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions for more information.
+ ///
public sealed class KeyComparer : IEqualityComparer, IComparer
{
private KeyComparer()
diff --git a/src/EFCore/Metadata/LazyLoaderParameterBindingFactory.cs b/src/EFCore/Metadata/LazyLoaderParameterBindingFactory.cs
index 0787fb35aca..713082c19c4 100644
--- a/src/EFCore/Metadata/LazyLoaderParameterBindingFactory.cs
+++ b/src/EFCore/Metadata/LazyLoaderParameterBindingFactory.cs
@@ -23,6 +23,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class LazyLoaderParameterBindingFactory : ServiceParameterBindingFactory
{
private static readonly MethodInfo _loadMethod = typeof(ILazyLoader).GetMethod(nameof(ILazyLoader.Load))!;
diff --git a/src/EFCore/Metadata/MemberIdentity.cs b/src/EFCore/Metadata/MemberIdentity.cs
index 6f371488297..9934a1e83e9 100644
--- a/src/EFCore/Metadata/MemberIdentity.cs
+++ b/src/EFCore/Metadata/MemberIdentity.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents the identity of an entity type member, can be based on or just the name.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
[DebuggerDisplay("{DebuggerDisplay(),nq}")]
public readonly struct MemberIdentity : IEquatable
{
diff --git a/src/EFCore/Metadata/ObjectArrayParameterBinding.cs b/src/EFCore/Metadata/ObjectArrayParameterBinding.cs
index 8ff6284590a..2c276f65350 100644
--- a/src/EFCore/Metadata/ObjectArrayParameterBinding.cs
+++ b/src/EFCore/Metadata/ObjectArrayParameterBinding.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// a new array of objects suitable for passing to a general purpose factory method such as is often used for
/// creating proxies.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class ObjectArrayParameterBinding : ParameterBinding
{
private readonly IReadOnlyList _bindings;
diff --git a/src/EFCore/Metadata/ParameterBinding.cs b/src/EFCore/Metadata/ParameterBinding.cs
index babd243ddde..212e6026310 100644
--- a/src/EFCore/Metadata/ParameterBinding.cs
+++ b/src/EFCore/Metadata/ParameterBinding.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Describes the binding from one or many EF model properties, dependency injection services, or metadata types to
/// a parameter in a constructor, factory method, or similar.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public abstract class ParameterBinding
{
///
diff --git a/src/EFCore/Metadata/ParameterBindingInfo.cs b/src/EFCore/Metadata/ParameterBindingInfo.cs
index 825e91e8466..93d071d84dc 100644
--- a/src/EFCore/Metadata/ParameterBindingInfo.cs
+++ b/src/EFCore/Metadata/ParameterBindingInfo.cs
@@ -10,6 +10,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Carries information about a parameter binding.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public readonly struct ParameterBindingInfo
{
///
diff --git a/src/EFCore/Metadata/PropertyParameterBinding.cs b/src/EFCore/Metadata/PropertyParameterBinding.cs
index 8ee935eff08..34d6c8c4097 100644
--- a/src/EFCore/Metadata/PropertyParameterBinding.cs
+++ b/src/EFCore/Metadata/PropertyParameterBinding.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Describes the binding from an to a parameter in a constructor, factory method,
/// or similar.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class PropertyParameterBinding : ParameterBinding
{
///
diff --git a/src/EFCore/Metadata/PropertySaveBehavior.cs b/src/EFCore/Metadata/PropertySaveBehavior.cs
index 92775de7d68..126f954fe56 100644
--- a/src/EFCore/Metadata/PropertySaveBehavior.cs
+++ b/src/EFCore/Metadata/PropertySaveBehavior.cs
@@ -9,6 +9,10 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Used with and
///
///
+ ///
+ /// See Modeling entity types and relationships and
+ /// Saving data in EF Core for more information.
+ ///
public enum PropertySaveBehavior
{
///
diff --git a/src/EFCore/Metadata/RuntimeEntityType.cs b/src/EFCore/Metadata/RuntimeEntityType.cs
index 8deb055cd59..f260b51799b 100644
--- a/src/EFCore/Metadata/RuntimeEntityType.cs
+++ b/src/EFCore/Metadata/RuntimeEntityType.cs
@@ -22,6 +22,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents an entity type in a model.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class RuntimeEntityType : AnnotatableBase, IRuntimeEntityType
{
private readonly List _foreignKeys = new();
diff --git a/src/EFCore/Metadata/RuntimeForeignKey.cs b/src/EFCore/Metadata/RuntimeForeignKey.cs
index f70c4d37ad5..041ede800ae 100644
--- a/src/EFCore/Metadata/RuntimeForeignKey.cs
+++ b/src/EFCore/Metadata/RuntimeForeignKey.cs
@@ -17,6 +17,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a relationship where a foreign key composed of properties on the dependent entity type
/// references a corresponding primary or alternate key on the principal entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class RuntimeForeignKey : AnnotatableBase, IRuntimeForeignKey
{
private readonly DeleteBehavior _deleteBehavior;
diff --git a/src/EFCore/Metadata/RuntimeIndex.cs b/src/EFCore/Metadata/RuntimeIndex.cs
index 27527a02522..3f2b98f27ee 100644
--- a/src/EFCore/Metadata/RuntimeIndex.cs
+++ b/src/EFCore/Metadata/RuntimeIndex.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents an index on a set of properties.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class RuntimeIndex : AnnotatableBase, IIndex
{
private readonly bool _isUnique;
diff --git a/src/EFCore/Metadata/RuntimeKey.cs b/src/EFCore/Metadata/RuntimeKey.cs
index df63fb73ffc..888b1ca76b9 100644
--- a/src/EFCore/Metadata/RuntimeKey.cs
+++ b/src/EFCore/Metadata/RuntimeKey.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a primary or alternate key on an entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class RuntimeKey : AnnotatableBase, IRuntimeKey
{
// Warning: Never access these fields directly as access needs to be thread-safe
diff --git a/src/EFCore/Metadata/RuntimeModel.cs b/src/EFCore/Metadata/RuntimeModel.cs
index 5605f197e3d..d018b88ee30 100644
--- a/src/EFCore/Metadata/RuntimeModel.cs
+++ b/src/EFCore/Metadata/RuntimeModel.cs
@@ -27,6 +27,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// This is a light-weight implementation that is constructed from a built model and is not meant to be used at design-time.
///
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class RuntimeModel : AnnotatableBase, IRuntimeModel
{
private readonly SortedDictionary _entityTypes = new(StringComparer.Ordinal);
diff --git a/src/EFCore/Metadata/RuntimeNavigation.cs b/src/EFCore/Metadata/RuntimeNavigation.cs
index a9fea007dbf..1a2e34420db 100644
--- a/src/EFCore/Metadata/RuntimeNavigation.cs
+++ b/src/EFCore/Metadata/RuntimeNavigation.cs
@@ -13,6 +13,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a navigation property which can be used to navigate a relationship.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class RuntimeNavigation : RuntimePropertyBase, INavigation
{
// Warning: Never access these fields directly as access needs to be thread-safe
diff --git a/src/EFCore/Metadata/RuntimeProperty.cs b/src/EFCore/Metadata/RuntimeProperty.cs
index 71453413b45..bd3e91e1f34 100644
--- a/src/EFCore/Metadata/RuntimeProperty.cs
+++ b/src/EFCore/Metadata/RuntimeProperty.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents a scalar property of an entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class RuntimeProperty : RuntimePropertyBase, IProperty
{
private readonly bool _isNullable;
diff --git a/src/EFCore/Metadata/RuntimePropertyBase.cs b/src/EFCore/Metadata/RuntimePropertyBase.cs
index fe340f7d119..406e06ab77c 100644
--- a/src/EFCore/Metadata/RuntimePropertyBase.cs
+++ b/src/EFCore/Metadata/RuntimePropertyBase.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Base type for navigations and properties.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public abstract class RuntimePropertyBase : AnnotatableBase, IRuntimePropertyBase
{
private readonly PropertyInfo? _propertyInfo;
diff --git a/src/EFCore/Metadata/RuntimeServiceProperty.cs b/src/EFCore/Metadata/RuntimeServiceProperty.cs
index f5093d65af0..c71da49fc7d 100644
--- a/src/EFCore/Metadata/RuntimeServiceProperty.cs
+++ b/src/EFCore/Metadata/RuntimeServiceProperty.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a property on an entity type that represents an
/// injected service from the .
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class RuntimeServiceProperty : RuntimePropertyBase, IServiceProperty
{
private ServiceParameterBinding? _parameterBinding;
diff --git a/src/EFCore/Metadata/RuntimeSkipNavigation.cs b/src/EFCore/Metadata/RuntimeSkipNavigation.cs
index 3d49c57ac1a..bcca18725bb 100644
--- a/src/EFCore/Metadata/RuntimeSkipNavigation.cs
+++ b/src/EFCore/Metadata/RuntimeSkipNavigation.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// Represents a navigation property that is part of a relationship
/// that is forwarded through a third entity type.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public class RuntimeSkipNavigation : RuntimePropertyBase, IRuntimeSkipNavigation
{
private readonly RuntimeForeignKey _foreignKey;
diff --git a/src/EFCore/Metadata/RuntimeTypeMappingConfiguration.cs b/src/EFCore/Metadata/RuntimeTypeMappingConfiguration.cs
index a32bf8b86b4..bd271327b3d 100644
--- a/src/EFCore/Metadata/RuntimeTypeMappingConfiguration.cs
+++ b/src/EFCore/Metadata/RuntimeTypeMappingConfiguration.cs
@@ -12,6 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
///
/// Represents scalar type configuration.
///
+ ///
+ /// See Modeling entity types and relationships for more information.
+ ///
public sealed class RuntimeTypeMappingConfiguration : AnnotatableBase, ITypeMappingConfiguration
{
private readonly ValueConverter? _valueConverter;
diff --git a/src/EFCore/Metadata/ServiceParameterBinding.cs b/src/EFCore/Metadata/ServiceParameterBinding.cs
index 604d5eaaad9..58f55f31cef 100644
--- a/src/EFCore/Metadata/ServiceParameterBinding.cs
+++ b/src/EFCore/Metadata/ServiceParameterBinding.cs
@@ -14,6 +14,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// may not also have and associated , to a parameter in
/// a constructor, factory method, or similar.
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public abstract class ServiceParameterBinding : ParameterBinding
{
private Func? _serviceDelegate;
diff --git a/src/EFCore/Metadata/ServiceParameterBindingFactory.cs b/src/EFCore/Metadata/ServiceParameterBindingFactory.cs
index 35560f9033c..7c3ad0b6095 100644
--- a/src/EFCore/Metadata/ServiceParameterBindingFactory.cs
+++ b/src/EFCore/Metadata/ServiceParameterBindingFactory.cs
@@ -19,6 +19,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Entity types with constructors for more information.
+ ///
public class ServiceParameterBindingFactory : IParameterBindingFactory
{
private readonly Type _serviceType;
diff --git a/src/EFCore/Metadata/SimpleModelFactory.cs b/src/EFCore/Metadata/SimpleModelFactory.cs
index 733f48f75a1..85a657d155b 100644
--- a/src/EFCore/Metadata/SimpleModelFactory.cs
+++ b/src/EFCore/Metadata/SimpleModelFactory.cs
@@ -16,6 +16,9 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// directly is much easier.
///
///
+ ///
+ /// See Implementation of database providers and extensions for more information.
+ ///
public class SimpleModelFactory
{
///
diff --git a/src/EFCore/Metadata/ValueGenerated.cs b/src/EFCore/Metadata/ValueGenerated.cs
index bbe8edd183c..2ebc3de2f3b 100644
--- a/src/EFCore/Metadata/ValueGenerated.cs
+++ b/src/EFCore/Metadata/ValueGenerated.cs
@@ -16,6 +16,10 @@ namespace Microsoft.EntityFrameworkCore.Metadata
/// See for more details.
///
///
+ ///
+ /// See Modeling entity types and relationships and
+ /// See Value generation in EF Core for more information.
+ ///
[Flags]
public enum ValueGenerated
{
diff --git a/src/EFCore/Query/CollectionShaperExpression.cs b/src/EFCore/Query/CollectionShaperExpression.cs
index 86df28a5042..fb66c8690bd 100644
--- a/src/EFCore/Query/CollectionShaperExpression.cs
+++ b/src/EFCore/Query/CollectionShaperExpression.cs
@@ -18,6 +18,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
[Obsolete("Use provider specific expressions for collection results.")]
public class CollectionShaperExpression : Expression, IPrintableExpression
{
diff --git a/src/EFCore/Query/CompiledQueryCacheKeyGenerator.cs b/src/EFCore/Query/CompiledQueryCacheKeyGenerator.cs
index 58945ed618a..d68b00261d3 100644
--- a/src/EFCore/Query/CompiledQueryCacheKeyGenerator.cs
+++ b/src/EFCore/Query/CompiledQueryCacheKeyGenerator.cs
@@ -25,6 +25,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class CompiledQueryCacheKeyGenerator : ICompiledQueryCacheKeyGenerator
{
///
diff --git a/src/EFCore/Query/EntityShaperExpression.cs b/src/EFCore/Query/EntityShaperExpression.cs
index 3b339d0fe1b..034d49d33a5 100644
--- a/src/EFCore/Query/EntityShaperExpression.cs
+++ b/src/EFCore/Query/EntityShaperExpression.cs
@@ -25,6 +25,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class EntityShaperExpression : Expression, IPrintableExpression
{
private static readonly MethodInfo _createUnableToDiscriminateException
diff --git a/src/EFCore/Query/EvaluatableExpressionFilter.cs b/src/EFCore/Query/EvaluatableExpressionFilter.cs
index 2f6ec9ceb1f..187c6031689 100644
--- a/src/EFCore/Query/EvaluatableExpressionFilter.cs
+++ b/src/EFCore/Query/EvaluatableExpressionFilter.cs
@@ -21,6 +21,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class EvaluatableExpressionFilter : IEvaluatableExpressionFilter
{
// This methods are non-deterministic and result varies based on time of running the query.
diff --git a/src/EFCore/Query/ExpressionEqualityComparer.cs b/src/EFCore/Query/ExpressionEqualityComparer.cs
index 318fabc1e64..ba529b57e06 100644
--- a/src/EFCore/Query/ExpressionEqualityComparer.cs
+++ b/src/EFCore/Query/ExpressionEqualityComparer.cs
@@ -16,6 +16,10 @@ namespace Microsoft.EntityFrameworkCore.Query
///
/// A comparer which implements for .
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public sealed class ExpressionEqualityComparer : IEqualityComparer
{
///
diff --git a/src/EFCore/Query/ExpressionPrinter.cs b/src/EFCore/Query/ExpressionPrinter.cs
index 4611240c333..26163167418 100644
--- a/src/EFCore/Query/ExpressionPrinter.cs
+++ b/src/EFCore/Query/ExpressionPrinter.cs
@@ -24,6 +24,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class ExpressionPrinter : ExpressionVisitor
{
private static readonly List _simpleMethods = new()
diff --git a/src/EFCore/Query/GroupByShaperExpression.cs b/src/EFCore/Query/GroupByShaperExpression.cs
index 5b25033b663..d096076eac1 100644
--- a/src/EFCore/Query/GroupByShaperExpression.cs
+++ b/src/EFCore/Query/GroupByShaperExpression.cs
@@ -17,6 +17,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class GroupByShaperExpression : Expression, IPrintableExpression
{
///
diff --git a/src/EFCore/Query/IAsyncQueryProvider.cs b/src/EFCore/Query/IAsyncQueryProvider.cs
index 1c92d44354f..de6c198f908 100644
--- a/src/EFCore/Query/IAsyncQueryProvider.cs
+++ b/src/EFCore/Query/IAsyncQueryProvider.cs
@@ -19,6 +19,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IAsyncQueryProvider : IQueryProvider
{
///
diff --git a/src/EFCore/Query/ICompiledQueryCacheKeyGenerator.cs b/src/EFCore/Query/ICompiledQueryCacheKeyGenerator.cs
index be8f8df805a..be8cc51fcb6 100644
--- a/src/EFCore/Query/ICompiledQueryCacheKeyGenerator.cs
+++ b/src/EFCore/Query/ICompiledQueryCacheKeyGenerator.cs
@@ -17,6 +17,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface ICompiledQueryCacheKeyGenerator
{
///
diff --git a/src/EFCore/Query/IEntityMaterializerSource.cs b/src/EFCore/Query/IEntityMaterializerSource.cs
index 811fb3c9a80..fbac9571fdf 100644
--- a/src/EFCore/Query/IEntityMaterializerSource.cs
+++ b/src/EFCore/Query/IEntityMaterializerSource.cs
@@ -24,6 +24,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IEntityMaterializerSource
{
///
diff --git a/src/EFCore/Query/IEvaluatableExpressionFilter.cs b/src/EFCore/Query/IEvaluatableExpressionFilter.cs
index a3d7c49432b..c7b5d49841f 100644
--- a/src/EFCore/Query/IEvaluatableExpressionFilter.cs
+++ b/src/EFCore/Query/IEvaluatableExpressionFilter.cs
@@ -17,6 +17,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IEvaluatableExpressionFilter
{
///
diff --git a/src/EFCore/Query/IEvaluatableExpressionFilterPlugin.cs b/src/EFCore/Query/IEvaluatableExpressionFilterPlugin.cs
index c1aad499341..db72148581f 100644
--- a/src/EFCore/Query/IEvaluatableExpressionFilterPlugin.cs
+++ b/src/EFCore/Query/IEvaluatableExpressionFilterPlugin.cs
@@ -17,6 +17,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IEvaluatableExpressionFilterPlugin
{
///
diff --git a/src/EFCore/Query/IIncludableQueryable.cs b/src/EFCore/Query/IIncludableQueryable.cs
index 51ad5c14740..7959aa6f530 100644
--- a/src/EFCore/Query/IIncludableQueryable.cs
+++ b/src/EFCore/Query/IIncludableQueryable.cs
@@ -8,6 +8,10 @@ namespace Microsoft.EntityFrameworkCore.Query
///
/// Supports queryable Include/ThenInclude chaining operators.
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
/// The entity type.
/// The property type.
// ReSharper disable once UnusedTypeParameter
diff --git a/src/EFCore/Query/INavigationExpansionExtensibilityHelper.cs b/src/EFCore/Query/INavigationExpansionExtensibilityHelper.cs
index a91a7a6fd8a..46d00ee7089 100644
--- a/src/EFCore/Query/INavigationExpansionExtensibilityHelper.cs
+++ b/src/EFCore/Query/INavigationExpansionExtensibilityHelper.cs
@@ -8,6 +8,10 @@ namespace Microsoft.EntityFrameworkCore.Query
///
/// Service which helps with various aspects of navigation expansion extensibility.
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface INavigationExpansionExtensibilityHelper
{
///
diff --git a/src/EFCore/Query/IPrintableExpression.cs b/src/EFCore/Query/IPrintableExpression.cs
index e0a8e9bada4..a63e004012c 100644
--- a/src/EFCore/Query/IPrintableExpression.cs
+++ b/src/EFCore/Query/IPrintableExpression.cs
@@ -12,6 +12,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IPrintableExpression
{
///
diff --git a/src/EFCore/Query/IQueryCompilationContextFactory.cs b/src/EFCore/Query/IQueryCompilationContextFactory.cs
index 13d7580b64d..b87194a321b 100644
--- a/src/EFCore/Query/IQueryCompilationContextFactory.cs
+++ b/src/EFCore/Query/IQueryCompilationContextFactory.cs
@@ -16,6 +16,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IQueryCompilationContextFactory
{
///
diff --git a/src/EFCore/Query/IQueryContextFactory.cs b/src/EFCore/Query/IQueryContextFactory.cs
index cd45b56f21e..5493cd4fb0c 100644
--- a/src/EFCore/Query/IQueryContextFactory.cs
+++ b/src/EFCore/Query/IQueryContextFactory.cs
@@ -16,6 +16,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IQueryContextFactory
{
///
diff --git a/src/EFCore/Query/IQueryTranslationPostprocessorFactory.cs b/src/EFCore/Query/IQueryTranslationPostprocessorFactory.cs
index 839c241dd49..90b370770fc 100644
--- a/src/EFCore/Query/IQueryTranslationPostprocessorFactory.cs
+++ b/src/EFCore/Query/IQueryTranslationPostprocessorFactory.cs
@@ -16,6 +16,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IQueryTranslationPostprocessorFactory
{
///
diff --git a/src/EFCore/Query/IQueryTranslationPreprocessorFactory.cs b/src/EFCore/Query/IQueryTranslationPreprocessorFactory.cs
index 7e5ace75815..64438453ba5 100644
--- a/src/EFCore/Query/IQueryTranslationPreprocessorFactory.cs
+++ b/src/EFCore/Query/IQueryTranslationPreprocessorFactory.cs
@@ -16,6 +16,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IQueryTranslationPreprocessorFactory
{
///
diff --git a/src/EFCore/Query/IQueryableMethodTranslatingExpressionVisitorFactory.cs b/src/EFCore/Query/IQueryableMethodTranslatingExpressionVisitorFactory.cs
index 59db0d080dd..8051b9a4797 100644
--- a/src/EFCore/Query/IQueryableMethodTranslatingExpressionVisitorFactory.cs
+++ b/src/EFCore/Query/IQueryableMethodTranslatingExpressionVisitorFactory.cs
@@ -15,6 +15,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// This service cannot depend on services registered as .
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IQueryableMethodTranslatingExpressionVisitorFactory
{
///
diff --git a/src/EFCore/Query/IQueryingEnumerable.cs b/src/EFCore/Query/IQueryingEnumerable.cs
index 2f4e9791ed2..e91f022f300 100644
--- a/src/EFCore/Query/IQueryingEnumerable.cs
+++ b/src/EFCore/Query/IQueryingEnumerable.cs
@@ -15,6 +15,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IQueryingEnumerable
{
///
diff --git a/src/EFCore/Query/IShapedQueryCompilingExpressionVisitorFactory.cs b/src/EFCore/Query/IShapedQueryCompilingExpressionVisitorFactory.cs
index 71a63491525..d282c8695f0 100644
--- a/src/EFCore/Query/IShapedQueryCompilingExpressionVisitorFactory.cs
+++ b/src/EFCore/Query/IShapedQueryCompilingExpressionVisitorFactory.cs
@@ -16,6 +16,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// The implementation does not need to be thread-safe.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public interface IShapedQueryCompilingExpressionVisitorFactory
{
///
diff --git a/src/EFCore/Query/IncludeExpression.cs b/src/EFCore/Query/IncludeExpression.cs
index a437d9dd7cd..f1767532177 100644
--- a/src/EFCore/Query/IncludeExpression.cs
+++ b/src/EFCore/Query/IncludeExpression.cs
@@ -18,6 +18,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class IncludeExpression : Expression, IPrintableExpression
{
///
diff --git a/src/EFCore/Query/MaterializeCollectionNavigationExpression.cs b/src/EFCore/Query/MaterializeCollectionNavigationExpression.cs
index d187a34e6fe..bccf6b662c4 100644
--- a/src/EFCore/Query/MaterializeCollectionNavigationExpression.cs
+++ b/src/EFCore/Query/MaterializeCollectionNavigationExpression.cs
@@ -17,6 +17,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class MaterializeCollectionNavigationExpression : Expression, IPrintableExpression
{
///
diff --git a/src/EFCore/Query/ProjectionBindingExpression.cs b/src/EFCore/Query/ProjectionBindingExpression.cs
index f4a17f32254..b7f402a49ee 100644
--- a/src/EFCore/Query/ProjectionBindingExpression.cs
+++ b/src/EFCore/Query/ProjectionBindingExpression.cs
@@ -20,6 +20,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class ProjectionBindingExpression : Expression, IPrintableExpression
{
///
diff --git a/src/EFCore/Query/ProjectionMember.cs b/src/EFCore/Query/ProjectionMember.cs
index 3e3805770eb..d7046baf29e 100644
--- a/src/EFCore/Query/ProjectionMember.cs
+++ b/src/EFCore/Query/ProjectionMember.cs
@@ -19,6 +19,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
[DebuggerDisplay("{ToString(), nq}")]
public sealed class ProjectionMember
{
diff --git a/src/EFCore/Query/QueryCompilationContext.cs b/src/EFCore/Query/QueryCompilationContext.cs
index 03e8dd3e009..de147203fe6 100644
--- a/src/EFCore/Query/QueryCompilationContext.cs
+++ b/src/EFCore/Query/QueryCompilationContext.cs
@@ -23,6 +23,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class QueryCompilationContext
{
///
diff --git a/src/EFCore/Query/QueryContext.cs b/src/EFCore/Query/QueryContext.cs
index 3fce3170962..43ea5e24d75 100644
--- a/src/EFCore/Query/QueryContext.cs
+++ b/src/EFCore/Query/QueryContext.cs
@@ -24,6 +24,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public abstract class QueryContext : IParameterValues
{
private readonly IDictionary _parameterValues = new Dictionary();
diff --git a/src/EFCore/Query/QueryRootExpression.cs b/src/EFCore/Query/QueryRootExpression.cs
index 43b1edf6ac7..ccda29d9a1a 100644
--- a/src/EFCore/Query/QueryRootExpression.cs
+++ b/src/EFCore/Query/QueryRootExpression.cs
@@ -20,6 +20,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class QueryRootExpression : Expression, IPrintableExpression
{
///
diff --git a/src/EFCore/Query/QueryTranslationPostprocessor.cs b/src/EFCore/Query/QueryTranslationPostprocessor.cs
index 18028486a81..e935f7e0be5 100644
--- a/src/EFCore/Query/QueryTranslationPostprocessor.cs
+++ b/src/EFCore/Query/QueryTranslationPostprocessor.cs
@@ -16,6 +16,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class QueryTranslationPostprocessor
{
///
diff --git a/src/EFCore/Query/QueryTranslationPreprocessor.cs b/src/EFCore/Query/QueryTranslationPreprocessor.cs
index cfd78e54cd5..cd13064315d 100644
--- a/src/EFCore/Query/QueryTranslationPreprocessor.cs
+++ b/src/EFCore/Query/QueryTranslationPreprocessor.cs
@@ -16,6 +16,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class QueryTranslationPreprocessor
{
///
diff --git a/src/EFCore/Query/QueryableMethodTranslatingExpressionVisitor.cs b/src/EFCore/Query/QueryableMethodTranslatingExpressionVisitor.cs
index a6086a42249..11822771f5c 100644
--- a/src/EFCore/Query/QueryableMethodTranslatingExpressionVisitor.cs
+++ b/src/EFCore/Query/QueryableMethodTranslatingExpressionVisitor.cs
@@ -23,6 +23,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public abstract class QueryableMethodTranslatingExpressionVisitor : ExpressionVisitor
{
private readonly bool _subquery;
diff --git a/src/EFCore/Query/QueryableMethods.cs b/src/EFCore/Query/QueryableMethods.cs
index bb1b81f17d4..57646806579 100644
--- a/src/EFCore/Query/QueryableMethods.cs
+++ b/src/EFCore/Query/QueryableMethods.cs
@@ -13,6 +13,10 @@ namespace Microsoft.EntityFrameworkCore.Query
///
/// A class that provides reflection metadata for translatable LINQ methods.
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public static class QueryableMethods
{
//public static MethodInfo AggregateWithoutSeed { get; }
diff --git a/src/EFCore/Query/ReplacingExpressionVisitor.cs b/src/EFCore/Query/ReplacingExpressionVisitor.cs
index af4e7f0405f..60fce162515 100644
--- a/src/EFCore/Query/ReplacingExpressionVisitor.cs
+++ b/src/EFCore/Query/ReplacingExpressionVisitor.cs
@@ -20,6 +20,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class ReplacingExpressionVisitor : ExpressionVisitor
{
private readonly IReadOnlyList _originals;
diff --git a/src/EFCore/Query/ResultCardinality.cs b/src/EFCore/Query/ResultCardinality.cs
index bbe4b1f73f9..0bdd584103c 100644
--- a/src/EFCore/Query/ResultCardinality.cs
+++ b/src/EFCore/Query/ResultCardinality.cs
@@ -12,6 +12,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public enum ResultCardinality
{
///
diff --git a/src/EFCore/Query/ShapedQueryCompilingExpressionVisitor.cs b/src/EFCore/Query/ShapedQueryCompilingExpressionVisitor.cs
index 0ead22674ef..9725cc6fe4d 100644
--- a/src/EFCore/Query/ShapedQueryCompilingExpressionVisitor.cs
+++ b/src/EFCore/Query/ShapedQueryCompilingExpressionVisitor.cs
@@ -35,6 +35,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public abstract class ShapedQueryCompilingExpressionVisitor : ExpressionVisitor
{
private static readonly PropertyInfo _cancellationTokenMemberInfo
diff --git a/src/EFCore/Query/ShapedQueryExpression.cs b/src/EFCore/Query/ShapedQueryExpression.cs
index 15fda5e79ad..da45afd431d 100644
--- a/src/EFCore/Query/ShapedQueryExpression.cs
+++ b/src/EFCore/Query/ShapedQueryExpression.cs
@@ -18,6 +18,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public class ShapedQueryExpression : Expression, IPrintableExpression
{
///
diff --git a/src/EFCore/Query/TransparentIdentifierFactory.cs b/src/EFCore/Query/TransparentIdentifierFactory.cs
index 885722d13a8..b3d15d6b28d 100644
--- a/src/EFCore/Query/TransparentIdentifierFactory.cs
+++ b/src/EFCore/Query/TransparentIdentifierFactory.cs
@@ -18,6 +18,10 @@ namespace Microsoft.EntityFrameworkCore.Query
/// not used in application code.
///
///
+ ///
+ /// See Implementation of database providers and extensions
+ /// and How EF Core queries work for more information.
+ ///
public static class TransparentIdentifierFactory
{
///