diff --git a/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs b/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs
index ae23dd0bc77..0b8d2516fbe 100644
--- a/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs
+++ b/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs
@@ -19,7 +19,7 @@ private static readonly ResourceManager _resourceManager
= new ResourceManager("Microsoft.EntityFrameworkCore.Cosmos.Properties.CosmosStrings", typeof(CosmosStrings).Assembly);
///
- /// Both the connection string and account key or account endpoint were specified. Only specify one set of connection details.
+ /// Both the connection string and account key or account endpoint were specified. Specify only one set of connection details.
///
public static string ConnectionStringConflictingConfiguration
=> GetString("ConnectionStringConflictingConfiguration");
@@ -31,7 +31,7 @@ public static string CosmosNotInUse
=> GetString("CosmosNotInUse");
///
- /// The discriminator value for '{entityType1}' is '{discriminatorValue}' which is the same for '{entityType2}'. Every concrete entity type mapped to the container '{container}' needs to have a unique discriminator value.
+ /// The discriminator value for '{entityType1}' is '{discriminatorValue}' which is the same for '{entityType2}'. Every concrete entity type mapped to the container '{container}' must have a unique discriminator value.
///
public static string DuplicateDiscriminatorValue([CanBeNull] object entityType1, [CanBeNull] object discriminatorValue, [CanBeNull] object entityType2, [CanBeNull] object container)
=> string.Format(
@@ -39,7 +39,7 @@ public static string DuplicateDiscriminatorValue([CanBeNull] object entityType1,
entityType1, discriminatorValue, entityType2, container);
///
- /// The type of the etag property '{property}' on '{entityType}' is '{propertyType}'. All etag properties need to be strings or have a string converter.
+ /// The type of the etag property '{property}' on '{entityType}' is '{propertyType}'. All etag properties need to be strings or have a string value converter.
///
public static string ETagNonStringStoreType([CanBeNull] object property, [CanBeNull] object entityType, [CanBeNull] object propertyType)
=> string.Format(
@@ -47,7 +47,7 @@ public static string ETagNonStringStoreType([CanBeNull] object property, [CanBeN
property, entityType, propertyType);
///
- /// The type of the '{idProperty}' property on '{entityType}' is '{propertyType}'. All 'id' properties need to be strings or have a string converter.
+ /// The type of the '{idProperty}' property on '{entityType}' is '{propertyType}'. All 'id' properties need to be strings or have a string value converter.
///
public static string IdNonStringStoreType([CanBeNull] object idProperty, [CanBeNull] object entityType, [CanBeNull] object propertyType)
=> string.Format(
@@ -63,7 +63,7 @@ public static string InvalidDerivedTypeInEntityProjection([CanBeNull] object der
derivedType, entityType);
///
- /// Invalid 'id' value. Supply a string value that's not null or empty.
+ /// Invalid 'id' value. Supply a string value that isn't null or empty.
///
public static string InvalidResourceId
=> GetString("InvalidResourceId");
@@ -77,7 +77,7 @@ public static string JsonPropertyCollision([CanBeNull] object property1, [CanBeN
property1, property2, entityType, storeName);
///
- /// Reverse could not be translated to the server because there is no ordering on the server side.
+ /// 'Reverse' could not be translated to the server because there is no ordering on the server side.
///
public static string MissingOrderingInSqlExpression
=> GetString("MissingOrderingInSqlExpression");
@@ -123,7 +123,7 @@ public static string NoIdProperty([CanBeNull] object entityType)
entityType);
///
- /// Non-embedded IncludeExpression is not supported: {expression}
+ /// Non-embedded IncludeExpressions are not supported: {expression}
///
public static string NonEmbeddedIncludeNotSupported([CanBeNull] object expression)
=> string.Format(
@@ -139,7 +139,7 @@ public static string NonETagConcurrencyToken([CanBeNull] object entityType, [Can
entityType, property);
///
- /// The entity type '{entityType}' does not have a partition key set, but it is mapped to the container '{container}' shared by entity types with partition keys. Configure a partition key on '{entityType}'.
+ /// The entity type '{entityType}' does not have a partition key set, but is mapped to the container '{container}' shared by entity types with partition keys. Configure a partition key on '{entityType}'.
///
public static string NoPartitionKey([CanBeNull] object entityType, [CanBeNull] object container)
=> string.Format(
@@ -163,7 +163,7 @@ public static string NoReadItemQueryString([CanBeNull] object resourceId, [CanBe
resourceId, partitionKey);
///
- /// Expression '{sqlExpression}' in SQL tree does not have type mapping assigned.
+ /// The expression '{sqlExpression}' in the SQL tree does not have a type mapping assigned.
///
public static string NullTypeMappingInSqlTree([CanBeNull] object sqlExpression)
=> string.Format(
@@ -171,7 +171,7 @@ public static string NullTypeMappingInSqlTree([CanBeNull] object sqlExpression)
sqlExpression);
///
- /// Offset is not supported without Limit.
+ /// 'Skip' is not supported without 'Take'.
///
public static string OffsetRequiresLimit
=> GetString("OffsetRequiresLimit");
@@ -185,7 +185,7 @@ public static string OrphanedNestedDocument([CanBeNull] object entityType, [CanB
entityType, missingEntityType);
///
- /// The entity of type '{entityType}' is mapped as a part of the document mapped to '{missingEntityType}', but there is no tracked entity of this type with the key value '{keyValue}'.
+ /// The entity of type '{entityType}' is mapped as part of the document mapped to '{missingEntityType}', but there is no tracked entity of this type with the key value '{keyValue}'.
///
public static string OrphanedNestedDocumentSensitive([CanBeNull] object entityType, [CanBeNull] object missingEntityType, [CanBeNull] object keyValue)
=> string.Format(
@@ -193,18 +193,18 @@ public static string OrphanedNestedDocumentSensitive([CanBeNull] object entityTy
entityType, missingEntityType, keyValue);
///
- /// A ReadItem query was detected, but the partition key value is missing.
+ /// A 'ReadItem' query was detected, but the partition key value is missing.
///
- public static string ParitionKeyMissing
- => GetString("ParitionKeyMissing");
+ public static string PartitionKeyMissing
+ => GetString("PartitionKeyMissing");
///
- /// Partition key specified in the WithPartitionKey call '{paritionKey1}' and the partition key specified in the Where predicate '{paritionKey2}' must be identical. Remove one of them .
+ /// The partition key specified in the 'WithPartitionKey' call '{partitionKey1}' and the partition key specified in the 'Where' predicate '{partitionKey2}' must be identical. Remove one of them.
///
- public static string PartitionKeyMismatch([CanBeNull] object paritionKey1, [CanBeNull] object paritionKey2)
+ public static string PartitionKeyMismatch([CanBeNull] object partitionKey1, [CanBeNull] object partitionKey2)
=> string.Format(
- GetString("PartitionKeyMismatch", nameof(paritionKey1), nameof(paritionKey2)),
- paritionKey1, paritionKey2);
+ GetString("PartitionKeyMismatch", nameof(partitionKey1), nameof(partitionKey2)),
+ partitionKey1, partitionKey2);
///
/// The partition key for entity type '{entityType}' is set to '{property}', but there is no property with that name.
@@ -215,7 +215,7 @@ public static string PartitionKeyMissingProperty([CanBeNull] object entityType,
entityType, property);
///
- /// The type of the partition key property '{property}' on '{entityType}' is '{propertyType}'. All partition key properties need to be strings or have a string converter.
+ /// The type of the partition key property '{property}' on '{entityType}' is '{propertyType}'. All partition key properties need to be strings or have a string value converter.
///
public static string PartitionKeyNonStringStoreType([CanBeNull] object property, [CanBeNull] object entityType, [CanBeNull] object propertyType)
=> string.Format(
@@ -231,19 +231,19 @@ public static string PartitionKeyStoreNameMismatch([CanBeNull] object property1,
property1, entityType1, storeName1, property2, entityType2, storeName2);
///
- /// A ReadItem query was detected, but the 'id' value is missing and cannot be generated.
+ /// A 'ReadItem' query was detected, but the 'id' value is missing and cannot be generated.
///
public static string ResourceIdMissing
=> GetString("ResourceIdMissing");
///
- /// Reverse is not supported without Limit or Offset.
+ /// 'Reverse' is not supported without 'Take' or 'Skip'.
///
public static string ReverseRequiresOffsetOrLimit
=> GetString("ReverseRequiresOffsetOrLimit");
///
- /// Unable to bind '{memberType}' '{member}' to entity projection of '{entityType}'.
+ /// Unable to bind '{memberType}' '{member}' to an entity projection of '{entityType}'.
///
public static string UnableToBindMemberToEntityProjection([CanBeNull] object memberType, [CanBeNull] object member, [CanBeNull] object entityType)
=> string.Format(
@@ -267,7 +267,7 @@ public static string UpdateConflict([CanBeNull] object itemId)
itemId);
///
- /// VisitChildren must be overridden in class deriving from SqlExpression.
+ /// 'VisitChildren' must be overridden in classes deriving from SqlExpression.
///
public static string VisitChildrenMustBeOverridden
=> GetString("VisitChildrenMustBeOverridden");
diff --git a/src/EFCore.Cosmos/Properties/CosmosStrings.resx b/src/EFCore.Cosmos/Properties/CosmosStrings.resx
index 285edc4c8c2..0807104a489 100644
--- a/src/EFCore.Cosmos/Properties/CosmosStrings.resx
+++ b/src/EFCore.Cosmos/Properties/CosmosStrings.resx
@@ -118,31 +118,31 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- Both the connection string and account key or account endpoint were specified. Only specify one set of connection details.
+ Both the connection string and account key or account endpoint were specified. Specify only one set of connection details.
Cosmos-specific methods can only be used when the context is using the Cosmos provider.
- The discriminator value for '{entityType1}' is '{discriminatorValue}' which is the same for '{entityType2}'. Every concrete entity type mapped to the container '{container}' needs to have a unique discriminator value.
+ The discriminator value for '{entityType1}' is '{discriminatorValue}' which is the same for '{entityType2}'. Every concrete entity type mapped to the container '{container}' must have a unique discriminator value.
- The type of the etag property '{property}' on '{entityType}' is '{propertyType}'. All etag properties need to be strings or have a string converter.
+ The type of the etag property '{property}' on '{entityType}' is '{propertyType}'. All etag properties need to be strings or have a string value converter.
- The type of the '{idProperty}' property on '{entityType}' is '{propertyType}'. All 'id' properties need to be strings or have a string converter.
+ The type of the '{idProperty}' property on '{entityType}' is '{propertyType}'. All 'id' properties need to be strings or have a string value converter.
'UpdateEntityType' called with '{derivedType}' which is not derived type of '{entityType}'.
- Invalid 'id' value. Supply a string value that's not null or empty.
+ Invalid 'id' value. Supply a string value that isn't null or empty.
Both properties '{property1}' and '{property2}' on entity type '{entityType}' are mapped to '{storeName}'. Map one of the properties to a different JSON property.
- Reverse could not be translated to the server because there is no ordering on the server side.
+ 'Reverse' could not be translated to the server because there is no ordering on the server side.
Navigation '{entityType}.{navigationName}' doesn't point to an embedded entity.
@@ -160,13 +160,13 @@
The entity type '{entityType}' does not have a property mapped to the 'id' property in the database. Add a property mapped as 'id'.
- Non-embedded IncludeExpression is not supported: {expression}
+ Non-embedded IncludeExpressions are not supported: {expression}
The entity type '{entityType}' has property '{property}' as its concurrency token, but only '_etag' is supported. Consider using 'EntityTypeBuilder.UseETagConcurrency'.
- The entity type '{entityType}' does not have a partition key set, but it is mapped to the container '{container}' shared by entity types with partition keys. Configure a partition key on '{entityType}'.
+ The entity type '{entityType}' does not have a partition key set, but is mapped to the container '{container}' shared by entity types with partition keys. Configure a partition key on '{entityType}'.
The entity type '{entityType}' does not have a key declared on '{partitionKey}' and '{idProperty}' properties. Add a key to '{entityType}' that contains '{partitionKey}' and '{idProperty}'.
@@ -175,40 +175,40 @@
There is no string-based representation of this query as it's executed using 'ReadItemQueryAsync({resourceId}, {partitionKey})'.
- Expression '{sqlExpression}' in SQL tree does not have type mapping assigned.
+ The expression '{sqlExpression}' in the SQL tree does not have a type mapping assigned.
- Offset is not supported without Limit.
+ 'Skip' is not supported without 'Take'.
The entity of type '{entityType}' is mapped as a part of the document mapped to '{missingEntityType}', but there is no tracked entity of this type with the corresponding key value. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the key values.
- The entity of type '{entityType}' is mapped as a part of the document mapped to '{missingEntityType}', but there is no tracked entity of this type with the key value '{keyValue}'.
+ The entity of type '{entityType}' is mapped as part of the document mapped to '{missingEntityType}', but there is no tracked entity of this type with the key value '{keyValue}'.
-
- A ReadItem query was detected, but the partition key value is missing.
+
+ A 'ReadItem' query was detected, but the partition key value is missing.
- Partition key specified in the WithPartitionKey call '{paritionKey1}' and the partition key specified in the Where predicate '{paritionKey2}' must be identical. Remove one of them .
+ The partition key specified in the 'WithPartitionKey' call '{partitionKey1}' and the partition key specified in the 'Where' predicate '{partitionKey2}' must be identical. Remove one of them.
The partition key for entity type '{entityType}' is set to '{property}', but there is no property with that name.
- The type of the partition key property '{property}' on '{entityType}' is '{propertyType}'. All partition key properties need to be strings or have a string converter.
+ The type of the partition key property '{property}' on '{entityType}' is '{propertyType}'. All partition key properties need to be strings or have a string value converter.
The partition key property '{property1}' on '{entityType1}' is mapped as '{storeName1}', but the partition key property '{property2}' on '{entityType2}' is mapped as '{storeName2}'. All partition key properties need to be mapped to the same store property.
- A ReadItem query was detected, but the 'id' value is missing and cannot be generated.
+ A 'ReadItem' query was detected, but the 'id' value is missing and cannot be generated.
- Reverse is not supported without Limit or Offset.
+ 'Reverse' is not supported without 'Take' or 'Skip'.
- Unable to bind '{memberType}' '{member}' to entity projection of '{entityType}'.
+ Unable to bind '{memberType}' '{member}' to an entity projection of '{entityType}'.
Unsupported operator '{nodeType}' specified for expression of type '{expressionType}'.
@@ -217,6 +217,6 @@
Conflicts were detected for item with id '{itemId}'.
- VisitChildren must be overridden in class deriving from SqlExpression.
+ 'VisitChildren' must be overridden in classes deriving from SqlExpression.
-
\ No newline at end of file
+
diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.ReadItemQueryingEnumerable.cs b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.ReadItemQueryingEnumerable.cs
index ad66807e9a7..61e6e975958 100644
--- a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.ReadItemQueryingEnumerable.cs
+++ b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.ReadItemQueryingEnumerable.cs
@@ -211,7 +211,7 @@ public bool MoveNext()
if (!_readItemEnumerable.TryGetPartitionId(out var partitionKey))
{
- throw new InvalidOperationException(CosmosStrings.ParitionKeyMissing);
+ throw new InvalidOperationException(CosmosStrings.PartitionKeyMissing);
}
EntityFrameworkEventSource.Log.QueryExecuting();
@@ -250,7 +250,7 @@ public async ValueTask MoveNextAsync()
if (!_readItemEnumerable.TryGetPartitionId(out var partitionKey))
{
- throw new InvalidOperationException(CosmosStrings.ParitionKeyMissing);
+ throw new InvalidOperationException(CosmosStrings.PartitionKeyMissing);
}
EntityFrameworkEventSource.Log.QueryExecuting();
diff --git a/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs b/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs
index e10fbcf4b8e..cf9d29a1459 100644
--- a/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs
+++ b/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs
@@ -25,39 +25,39 @@ private static readonly ResourceManager _resourceManager
= new ResourceManager("Microsoft.EntityFrameworkCore.Properties.RelationalStrings", typeof(RelationalStrings).Assembly);
///
- /// Unable to deserialize sequence from model metadata. See inner exception for details.
+ /// Unable to deserialize a sequence from model metadata. See inner exception for details.
///
public static string BadSequenceString
=> GetString("BadSequenceString");
///
- /// Invalid type for sequence. Valid types are 'Int64' (the default), 'Int32', 'Int16', 'Byte' and 'Decimal'.
+ /// Invalid type for sequence. Valid types are long (the default), int, short, byte and decimal.
///
public static string BadSequenceType
=> GetString("BadSequenceType");
///
- /// The 'DbConnection' is currently in use. The connection can only be changed when the existing connection is not being used.
+ /// The instance of DbConnection is currently in use. The connection can only be changed when the existing connection is not being used.
///
public static string CannotChangeWhenOpen
=> GetString("CannotChangeWhenOpen");
///
- /// The given GroupBy pattern is not translatable. Call AsEnumerable before GroupBy to evaluate it locally.
+ /// The given GroupBy pattern cannot be translated. Call AsEnumerable before GroupBy to evaluate it locally.
///
public static string ClientGroupByNotSupported
=> GetString("ClientGroupByNotSupported");
///
- /// The column '{column}' on table '{table}' has unspecified computed column SQL. Specify the SQL before using Entity Framework to create the database schema.
+ /// The computed column SQL has not been specified for the column '{table}.{column}'. Specify the SQL before using Entity Framework to create the database schema.
///
- public static string ComputedColumnSqlUnspecified([CanBeNull] object column, [CanBeNull] object table)
+ public static string ComputedColumnSqlUnspecified([CanBeNull] object table, [CanBeNull] object column)
=> string.Format(
- GetString("ComputedColumnSqlUnspecified", nameof(column), nameof(table)),
- column, table);
+ GetString("ComputedColumnSqlUnspecified", nameof(table), nameof(column)),
+ table, column);
///
- /// An ambient transaction has been detected. The ambient transaction needs to be completed before beginning a transaction on this connection.
+ /// An ambient transaction has been detected. The ambient transaction needs to be completed before starting a new transaction on this connection.
///
public static string ConflictingAmbientTransaction
=> GetString("ConflictingAmbientTransaction");
@@ -71,7 +71,7 @@ public static string ConflictingColumnServerGeneration([CanBeNull] object confli
conflictingConfiguration, property, existingConfiguration);
///
- /// The connection is currently enlisted in a transaction. The enlisted transaction needs to be completed before starting a transaction.
+ /// The connection is currently enlisted in a transaction. The enlisted transaction needs to be completed before starting a new transaction.
///
public static string ConflictingEnlistedTransaction
=> GetString("ConflictingEnlistedTransaction");
@@ -85,7 +85,7 @@ public static string ConflictingOriginalRowValues([CanBeNull] object firstEntity
firstEntityType, secondEntityType, firstProperty, secondProperty, column);
///
- /// The instance of entity type '{firstEntityType}' and the instance of entity type '{secondEntityType}' are mapped to the same row with the key value '{keyValue}', but have different original property values {firstConflictingValues} and {secondConflictingValues} for the column '{column}'.
+ /// Instances of entity types '{firstEntityType}' and '{secondEntityType}' are mapped to the same row with the key value '{keyValue}', but have different original property values {firstConflictingValues} and {secondConflictingValues} for the column '{column}'.
///
public static string ConflictingOriginalRowValuesSensitive([CanBeNull] object firstEntityType, [CanBeNull] object secondEntityType, [CanBeNull] object keyValue, [CanBeNull] object firstConflictingValues, [CanBeNull] object secondConflictingValues, [CanBeNull] object column)
=> string.Format(
@@ -109,7 +109,7 @@ public static string ConflictingRowUpdateTypesSensitive([CanBeNull] object first
firstEntityType, firstKeyValue, firstState, secondEntityType, secondKeyValue, secondState);
///
- /// An instance of entity type '{firstEntityType}' and an instance of entity type '{secondEntityType}' are mapped to the same row, but have different property values for the properties {firstProperty} and {secondProperty} mapped to '{column}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting values.
+ /// Instances of entity types '{firstEntityType}' and '{secondEntityType}' are mapped to the same row, but have different property values for the properties {firstProperty} and {secondProperty} mapped to '{column}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting values.
///
public static string ConflictingRowValues([CanBeNull] object firstEntityType, [CanBeNull] object secondEntityType, [CanBeNull] object firstProperty, [CanBeNull] object secondProperty, [CanBeNull] object column)
=> string.Format(
@@ -117,7 +117,7 @@ public static string ConflictingRowValues([CanBeNull] object firstEntityType, [C
firstEntityType, secondEntityType, firstProperty, secondProperty, column);
///
- /// The instance of entity type '{firstEntityType}' and the instance of entity type '{secondEntityType}' are mapped to the same row with the key value '{keyValue}', but have different property values '{firstConflictingValue}' and '{secondConflictingValue}' for the column '{column}'.
+ /// Instances of entity types '{firstEntityType}' and '{secondEntityType}' are mapped to the same row with the key value '{keyValue}', but have different property values '{firstConflictingValue}' and '{secondConflictingValue}' for the column '{column}'.
///
public static string ConflictingRowValuesSensitive([CanBeNull] object firstEntityType, [CanBeNull] object secondEntityType, [CanBeNull] object keyValue, [CanBeNull] object firstConflictingValue, [CanBeNull] object secondConflictingValue, [CanBeNull] object column)
=> string.Format(
@@ -131,7 +131,7 @@ public static string DatabaseModelMissing
=> GetString("DatabaseModelMissing");
///
- /// There is no property mapped to the column '{table}.{column}' used in a data operation. Either add a property mapped to this column or specify the column types in the data operation.
+ /// There is no property mapped to the column '{table}.{column}' which is used in a data operation. Either add a property mapped to this column, or specify the column types in the data operation.
///
public static string DataOperationNoProperty([CanBeNull] object table, [CanBeNull] object column)
=> string.Format(
@@ -139,7 +139,7 @@ public static string DataOperationNoProperty([CanBeNull] object table, [CanBeNul
table, column);
///
- /// There is no entity type mapped to the table '{table}' used in a data operation. Either add the corresponding entity type to the model or specify the column types in the data operation.
+ /// There is no entity type mapped to the table '{table}' which is used in a data operation. Either add the corresponding entity type to the model, or specify the column types in the data operation.
///
public static string DataOperationNoTable([CanBeNull] object table)
=> string.Format(
@@ -155,7 +155,7 @@ public static string DbFunctionAggregateCustomTranslation([CanBeNull] object fun
function);
///
- /// The provided DbFunction expression '{expression}' is invalid. The expression should be a lambda expression containing a single method call to the target static method. Default values can be provided as arguments if required. E.g. () => SomeClass.SomeMethod(null, 0)
+ /// The provided DbFunction expression '{expression}' is invalid. The expression must be a lambda expression containing a single method call to the target static method. Default values can be provided as arguments if required, e.g. () => SomeClass.SomeMethod(null, 0)
///
public static string DbFunctionExpressionIsNotMethodCall([CanBeNull] object expression)
=> string.Format(
@@ -211,7 +211,7 @@ public static string DbFunctionInvalidParameterType([CanBeNull] object parameter
parameter, function, type);
///
- /// The DbFunction '{function}' returns '{type}', but `{elementType}` is not a mapped entity type. Ensure that `{elementType}` is included in the model.
+ /// The DbFunction '{function}' returns '{type}', but '{elementType}' is not a mapped entity type. Ensure that '{elementType}' is included in the model.
///
public static string DbFunctionInvalidReturnEntityType([CanBeNull] object function, [CanBeNull] object type, [CanBeNull] object elementType)
=> string.Format(
@@ -227,7 +227,7 @@ public static string DbFunctionInvalidReturnType([CanBeNull] object function, [C
function, type);
///
- /// Cannot set custom translation on the DbFunction '{function}' since it is a table valued function.
+ /// Cannot set custom translation on the DbFunction '{function}' since it is a table-valued function.
///
public static string DbFunctionTableValuedCustomTranslation([CanBeNull] object function)
=> string.Format(
@@ -235,23 +235,23 @@ public static string DbFunctionTableValuedCustomTranslation([CanBeNull] object f
function);
///
- /// The column '{column}' on table '{table}' has unspecified default value SQL. Specify the SQL before using Entity Framework to create the database schema.
+ /// The default value SQL has not been specified for the column '{table}.{column}'. Specify the SQL before using Entity Framework to create the database schema.
///
- public static string DefaultValueSqlUnspecified([CanBeNull] object column, [CanBeNull] object table)
+ public static string DefaultValueSqlUnspecified([CanBeNull] object table, [CanBeNull] object column)
=> string.Format(
- GetString("DefaultValueSqlUnspecified", nameof(column), nameof(table)),
- column, table);
+ GetString("DefaultValueSqlUnspecified", nameof(table), nameof(column)),
+ table, column);
///
- /// The column '{column}' on table '{table}' has an unspecified default value. Specify a value before using Entity Framework to create the database schema.
+ /// The default value has not been specified for the column '{table}.{column}'. Specify a value before using Entity Framework to create the database schema.
///
- public static string DefaultValueUnspecified([CanBeNull] object column, [CanBeNull] object table)
+ public static string DefaultValueUnspecified([CanBeNull] object table, [CanBeNull] object column)
=> string.Format(
- GetString("DefaultValueUnspecified", nameof(column), nameof(table)),
- column, table);
+ GetString("DefaultValueUnspecified", nameof(table), nameof(column)),
+ table, column);
///
- /// The data deletion operation on '{table}' is not associated with a model. Either add a model to the migration or specify the column types in all data operations.
+ /// The data deletion operation on '{table}' is not associated with a model. Either add a model to the migration, or specify the column types in all data operations.
///
public static string DeleteDataOperationNoModel([CanBeNull] object table)
=> string.Format(
@@ -292,7 +292,7 @@ public static string DuplicateCheckConstraint([CanBeNull] object checkConstraint
checkConstraint, entityType);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different collations ('{collation1}' and '{collation2}').
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different collations ('{collation1}' and '{collation2}').
///
public static string DuplicateColumnNameCollationMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table, [CanBeNull] object collation1, [CanBeNull] object collation2)
=> string.Format(
@@ -300,7 +300,7 @@ public static string DuplicateColumnNameCollationMismatch([CanBeNull] object ent
entityType1, property1, entityType2, property2, columnName, table, collation1, collation2);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different comments ('{comment1}' and '{comment2}').
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different comments ('{comment1}' and '{comment2}').
///
public static string DuplicateColumnNameCommentMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table, [CanBeNull] object comment1, [CanBeNull] object comment2)
=> string.Format(
@@ -308,7 +308,7 @@ public static string DuplicateColumnNameCommentMismatch([CanBeNull] object entit
entityType1, property1, entityType2, property2, columnName, table, comment1, comment2);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different computed values ('{value1}' and '{value2}').
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different computed values ('{value1}' and '{value2}').
///
public static string DuplicateColumnNameComputedSqlMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table, [CanBeNull] object value1, [CanBeNull] object value2)
=> string.Format(
@@ -316,7 +316,7 @@ public static string DuplicateColumnNameComputedSqlMismatch([CanBeNull] object e
entityType1, property1, entityType2, property2, columnName, table, value1, value2);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different concurrency token configuration.
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different concurrency token configurations.
///
public static string DuplicateColumnNameConcurrencyTokenMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table)
=> string.Format(
@@ -324,7 +324,7 @@ public static string DuplicateColumnNameConcurrencyTokenMismatch([CanBeNull] obj
entityType1, property1, entityType2, property2, columnName, table);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different data types ('{dataType1}' and '{dataType2}').
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different data types ('{dataType1}' and '{dataType2}').
///
public static string DuplicateColumnNameDataTypeMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table, [CanBeNull] object dataType1, [CanBeNull] object dataType2)
=> string.Format(
@@ -332,7 +332,7 @@ public static string DuplicateColumnNameDataTypeMismatch([CanBeNull] object enti
entityType1, property1, entityType2, property2, columnName, table, dataType1, dataType2);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different default values ('{value1}' and '{value2}').
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different default values ('{value1}' and '{value2}').
///
public static string DuplicateColumnNameDefaultSqlMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table, [CanBeNull] object value1, [CanBeNull] object value2)
=> string.Format(
@@ -340,7 +340,7 @@ public static string DuplicateColumnNameDefaultSqlMismatch([CanBeNull] object en
entityType1, property1, entityType2, property2, columnName, table, value1, value2);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different fixed length configuration.
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different fixed length configuration.
///
public static string DuplicateColumnNameFixedLengthMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table)
=> string.Format(
@@ -348,7 +348,7 @@ public static string DuplicateColumnNameFixedLengthMismatch([CanBeNull] object e
entityType1, property1, entityType2, property2, columnName, table);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different stored computed column settings ('{value1}' and '{value2}').
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different stored computed column settings ('{value1}' and '{value2}').
///
public static string DuplicateColumnNameIsStoredMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table, [CanBeNull] object value1, [CanBeNull] object value2)
=> string.Format(
@@ -356,7 +356,7 @@ public static string DuplicateColumnNameIsStoredMismatch([CanBeNull] object enti
entityType1, property1, entityType2, property2, columnName, table, value1, value2);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different max lengths ('{maxLength1}' and '{maxLength2}').
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different maximum lengths ('{maxLength1}' and '{maxLength2}').
///
public static string DuplicateColumnNameMaxLengthMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table, [CanBeNull] object maxLength1, [CanBeNull] object maxLength2)
=> string.Format(
@@ -364,7 +364,7 @@ public static string DuplicateColumnNameMaxLengthMismatch([CanBeNull] object ent
entityType1, property1, entityType2, property2, columnName, table, maxLength1, maxLength2);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different nullability.
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different nullability settings.
///
public static string DuplicateColumnNameNullabilityMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table)
=> string.Format(
@@ -372,7 +372,7 @@ public static string DuplicateColumnNameNullabilityMismatch([CanBeNull] object e
entityType1, property1, entityType2, property2, columnName, table);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different precision ('{precision1}' and '{precision2}').
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different precisions ('{precision1}' and '{precision2}').
///
public static string DuplicateColumnNamePrecisionMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table, [CanBeNull] object precision1, [CanBeNull] object precision2)
=> string.Format(
@@ -380,7 +380,7 @@ public static string DuplicateColumnNamePrecisionMismatch([CanBeNull] object ent
entityType1, property1, entityType2, property2, columnName, table, precision1, precision2);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different scale ('{scale1}' and '{scale2}').
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different scales ('{scale1}' and '{scale2}').
///
public static string DuplicateColumnNameScaleMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table, [CanBeNull] object scale1, [CanBeNull] object scale2)
=> string.Format(
@@ -388,7 +388,7 @@ public static string DuplicateColumnNameScaleMismatch([CanBeNull] object entityT
entityType1, property1, entityType2, property2, columnName, table, scale1, scale2);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different unicode configuration
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different unicode configurations.
///
public static string DuplicateColumnNameUnicodenessMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table)
=> string.Format(
@@ -396,7 +396,7 @@ public static string DuplicateColumnNameUnicodenessMismatch([CanBeNull] object e
entityType1, property1, entityType2, property2, columnName, table);
///
- /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but use different columns ({columnNames1} and {columnNames2}).
+ /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but use different columns ({columnNames1} and {columnNames2}).
///
public static string DuplicateForeignKeyColumnMismatch([CanBeNull] object foreignKeyProperties1, [CanBeNull] object entityType1, [CanBeNull] object foreignKeyProperties2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object foreignKeyName, [CanBeNull] object columnNames1, [CanBeNull] object columnNames2)
=> string.Format(
@@ -404,7 +404,7 @@ public static string DuplicateForeignKeyColumnMismatch([CanBeNull] object foreig
foreignKeyProperties1, entityType1, foreignKeyProperties2, entityType2, table, foreignKeyName, columnNames1, columnNames2);
///
- /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but with different delete behavior ('{deleteBehavior1}' and '{deleteBehavior2}').
+ /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but with different delete behavior ('{deleteBehavior1}' and '{deleteBehavior2}').
///
public static string DuplicateForeignKeyDeleteBehaviorMismatch([CanBeNull] object foreignKeyProperties1, [CanBeNull] object entityType1, [CanBeNull] object foreignKeyProperties2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object foreignKeyName, [CanBeNull] object deleteBehavior1, [CanBeNull] object deleteBehavior2)
=> string.Format(
@@ -412,7 +412,7 @@ public static string DuplicateForeignKeyDeleteBehaviorMismatch([CanBeNull] objec
foreignKeyProperties1, entityType1, foreignKeyProperties2, entityType2, table, foreignKeyName, deleteBehavior1, deleteBehavior2);
///
- /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but referencing different principal columns ({principalColumnNames1} and {principalColumnNames2}).
+ /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but referencing different principal columns ({principalColumnNames1} and {principalColumnNames2}).
///
public static string DuplicateForeignKeyPrincipalColumnMismatch([CanBeNull] object foreignKeyProperties1, [CanBeNull] object entityType1, [CanBeNull] object foreignKeyProperties2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object foreignKeyName, [CanBeNull] object principalColumnNames1, [CanBeNull] object principalColumnNames2)
=> string.Format(
@@ -420,7 +420,7 @@ public static string DuplicateForeignKeyPrincipalColumnMismatch([CanBeNull] obje
foreignKeyProperties1, entityType1, foreignKeyProperties2, entityType2, table, foreignKeyName, principalColumnNames1, principalColumnNames2);
///
- /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but referencing different principal tables ('{principalTable1}' and '{principalTable2}').
+ /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but referencing different principal tables ('{principalTable1}' and '{principalTable2}').
///
public static string DuplicateForeignKeyPrincipalTableMismatch([CanBeNull] object foreignKeyProperties1, [CanBeNull] object entityType1, [CanBeNull] object foreignKeyProperties2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object foreignKeyName, [CanBeNull] object principalTable1, [CanBeNull] object principalTable2)
=> string.Format(
@@ -428,7 +428,7 @@ public static string DuplicateForeignKeyPrincipalTableMismatch([CanBeNull] objec
foreignKeyProperties1, entityType1, foreignKeyProperties2, entityType2, table, foreignKeyName, principalTable1, principalTable2);
///
- /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{foreignKeyName}' but are declared on different tables ('{table1}' and '{table2}').
+ /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{foreignKeyName}', but are declared on different tables ('{table1}' and '{table2}').
///
public static string DuplicateForeignKeyTableMismatch([CanBeNull] object foreignKeyProperties1, [CanBeNull] object entityType1, [CanBeNull] object foreignKeyProperties2, [CanBeNull] object entityType2, [CanBeNull] object foreignKeyName, [CanBeNull] object table1, [CanBeNull] object table2)
=> string.Format(
@@ -436,7 +436,7 @@ public static string DuplicateForeignKeyTableMismatch([CanBeNull] object foreign
foreignKeyProperties1, entityType1, foreignKeyProperties2, entityType2, foreignKeyName, table1, table2);
///
- /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but with different uniqueness.
+ /// The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but with different uniqueness settings.
///
public static string DuplicateForeignKeyUniquenessMismatch([CanBeNull] object foreignKeyProperties1, [CanBeNull] object entityType1, [CanBeNull] object foreignKeyProperties2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object foreignKeyName)
=> string.Format(
@@ -444,7 +444,7 @@ public static string DuplicateForeignKeyUniquenessMismatch([CanBeNull] object fo
foreignKeyProperties1, entityType1, foreignKeyProperties2, entityType2, table, foreignKeyName);
///
- /// The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different columns ({columnNames1} and {columnNames2}).
+ /// The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different columns ({columnNames1} and {columnNames2}).
///
public static string DuplicateIndexColumnMismatch([CanBeNull] object indexProperties1, [CanBeNull] object entityType1, [CanBeNull] object indexProperties2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object indexName, [CanBeNull] object columnNames1, [CanBeNull] object columnNames2)
=> string.Format(
@@ -452,7 +452,7 @@ public static string DuplicateIndexColumnMismatch([CanBeNull] object indexProper
indexProperties1, entityType1, indexProperties2, entityType2, table, indexName, columnNames1, columnNames2);
///
- /// The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{indexName}' but are declared on different tables ('{table1}' and '{table2}').
+ /// The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{indexName}', but are declared on different tables ('{table1}' and '{table2}').
///
public static string DuplicateIndexTableMismatch([CanBeNull] object indexProperties1, [CanBeNull] object entityType1, [CanBeNull] object indexProperties2, [CanBeNull] object entityType2, [CanBeNull] object indexName, [CanBeNull] object table1, [CanBeNull] object table2)
=> string.Format(
@@ -460,7 +460,7 @@ public static string DuplicateIndexTableMismatch([CanBeNull] object indexPropert
indexProperties1, entityType1, indexProperties2, entityType2, indexName, table1, table2);
///
- /// The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different uniqueness.
+ /// The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different uniqueness settings.
///
public static string DuplicateIndexUniquenessMismatch([CanBeNull] object indexProperties1, [CanBeNull] object entityType1, [CanBeNull] object indexProperties2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object indexName)
=> string.Format(
@@ -468,7 +468,7 @@ public static string DuplicateIndexUniquenessMismatch([CanBeNull] object indexPr
indexProperties1, entityType1, indexProperties2, entityType2, table, indexName);
///
- /// The keys {keyProperties1} on '{entityType1}' and {keyProperties2} on '{entityType2}' are both mapped to '{table}.{keyName}' but with different columns ({columnNames1} and {columnNames2}).
+ /// The keys {keyProperties1} on '{entityType1}' and {keyProperties2} on '{entityType2}' are both mapped to '{table}.{keyName}', but with different columns ({columnNames1} and {columnNames2}).
///
public static string DuplicateKeyColumnMismatch([CanBeNull] object keyProperties1, [CanBeNull] object entityType1, [CanBeNull] object keyProperties2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object keyName, [CanBeNull] object columnNames1, [CanBeNull] object columnNames2)
=> string.Format(
@@ -476,7 +476,7 @@ public static string DuplicateKeyColumnMismatch([CanBeNull] object keyProperties
keyProperties1, entityType1, keyProperties2, entityType2, table, keyName, columnNames1, columnNames2);
///
- /// The keys {keyProperties1} on '{entityType1}' and {keyProperties2} on '{entityType2}' are both mapped to '{keyName}' but on different tables ('{table1}' and '{table2}').
+ /// The keys {keyProperties1} on '{entityType1}' and {keyProperties2} on '{entityType2}' are both mapped to '{keyName}', but on different tables ('{table1}' and '{table2}').
///
public static string DuplicateKeyTableMismatch([CanBeNull] object keyProperties1, [CanBeNull] object entityType1, [CanBeNull] object keyProperties2, [CanBeNull] object entityType2, [CanBeNull] object keyName, [CanBeNull] object table1, [CanBeNull] object table2)
=> string.Format(
@@ -538,13 +538,13 @@ public static string FromSqlMissingColumn([CanBeNull] object column)
column);
///
- /// FromSqlRaw or FromSqlInterpolated was called with non-composable SQL and with a query composing over it. Consider calling `AsEnumerable` after the FromSqlRaw or FromSqlInterpolated method to perform the composition on the client side.
+ /// 'FromSqlRaw' or 'FromSqlInterpolated' was called with non-composable SQL and with a query composing over it. Consider calling 'AsEnumerable' after the 'FromSqlRaw' or 'FromSqlInterpolated' method to perform the composition on the client side.
///
public static string FromSqlNonComposable
=> GetString("FromSqlNonComposable");
///
- /// The property '{propertySpecification}' has specific configuration for the function '{function}', however it isn't mapped to a column on that function return. Remove the specific configuration or map an entity type that contains this property to '{function}'.
+ /// The property '{propertySpecification}' has specific configuration for the function '{function}', but it isn't mapped to a column on that function return. Remove the specific configuration, or map an entity type that contains this property to '{function}'.
///
public static string FunctionOverrideMismatch([CanBeNull] object propertySpecification, [CanBeNull] object function)
=> string.Format(
@@ -566,7 +566,7 @@ public static string IncompatibleTableCommentMismatch([CanBeNull] object table,
table, entityType, otherEntityType, comment, otherComment);
///
- /// Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}', there is a relationship between their primary keys in which '{entityType}' is the dependent and '{entityType}' has a base entity type mapped to a different table. Either map '{otherEntityType}' to a different table or invert the relationship between '{entityType}' and '{otherEntityType}'.
+ /// Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and there is a relationship between their primary keys in which '{entityType}' is the dependent, but '{entityType}' has a base entity type mapped to a different table. Either map '{otherEntityType}' to a different table, or invert the relationship between '{entityType}' and '{otherEntityType}'.
///
public static string IncompatibleTableDerivedRelationship([CanBeNull] object table, [CanBeNull] object entityType, [CanBeNull] object otherEntityType)
=> string.Format(
@@ -574,7 +574,7 @@ public static string IncompatibleTableDerivedRelationship([CanBeNull] object tab
table, entityType, otherEntityType);
///
- /// Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and it excluded from migration on one entity type, but not the other. Exclude the table from migrations on all entity types mapped to the table.
+ /// Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and it is excluded from migrations on one entity type but not on the other. Exclude the table from migrations on all entity types mapped to the table.
///
public static string IncompatibleTableExcludedMismatch([CanBeNull] object table, [CanBeNull] object entityType, [CanBeNull] object otherEntityType)
=> string.Format(
@@ -598,7 +598,7 @@ public static string IncompatibleTableNoRelationship([CanBeNull] object table, [
table, entityType, otherEntityType);
///
- /// Cannot use view '{view}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}', there is a relationship between their primary keys in which '{entityType}' is the dependent and '{entityType}' has a base entity type mapped to a different view. Either map '{otherEntityType}' to a different view or invert the relationship between '{entityType}' and '{otherEntityType}'.
+ /// Cannot use view '{view}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and there is a relationship between their primary keys in which '{entityType}' is the dependent, but '{entityType}' has a base entity type mapped to a different view. Either map '{otherEntityType}' to a different view, or invert the relationship between '{entityType}' and '{otherEntityType}'.
///
public static string IncompatibleViewDerivedRelationship([CanBeNull] object view, [CanBeNull] object entityType, [CanBeNull] object otherEntityType)
=> string.Format(
@@ -622,7 +622,7 @@ public static string IncorrectDefaultValueType([CanBeNull] object value, [CanBeN
value, valueType, property, propertyType, entityType);
///
- /// The data insertion operation on '{table}' is not associated with a model. Either add a model to the migration or specify the column types in all data operations.
+ /// The data insertion operation on '{table}' is not associated with a model. Either add a model to the migration, or specify the column types in all data operations.
///
public static string InsertDataOperationNoModel([CanBeNull] object table)
=> string.Format(
@@ -646,7 +646,7 @@ public static string InsertDataOperationValuesCountMismatch([CanBeNull] object v
valuesCount, columnsCount, table);
///
- /// Not enough information to uniquely identify outer element in correlated collection scenario. This can happen when trying to correlate on keyless entity or when using 'Distinct' or 'GroupBy' operations without projecting all of the key columns.
+ /// There isn't enough information to uniquely identify the outer element in a correlated collection scenario. This can happen when trying to correlate on keyless entity or when using 'Distinct' or 'GroupBy' operations without projecting all of the key columns.
///
public static string InsufficientInformationToIdentifyOuterElementOfCollectionJoin
=> GetString("InsufficientInformationToIdentifyOuterElementOfCollectionJoin");
@@ -672,7 +672,7 @@ public static string InvalidKeySelectorForGroupBy
=> GetString("InvalidKeySelectorForGroupBy");
///
- /// The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' and it's derived from '{baseEntityType}'. Derived entity types cannot be mapped to a function.
+ /// The entity type '{entityType}' is mapped to the DbFunction named '{functionName}', but is derived from '{baseEntityType}'. Derived entity types cannot be mapped to a function.
///
public static string InvalidMappedFunctionDerivedType([CanBeNull] object entityType, [CanBeNull] object functionName, [CanBeNull] object baseEntityType)
=> string.Format(
@@ -680,7 +680,7 @@ public static string InvalidMappedFunctionDerivedType([CanBeNull] object entityT
entityType, functionName, baseEntityType);
///
- /// The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' with return type '{returnType}'. Ensure that mapped function returns `IQueryable<{clrType}>`.
+ /// The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' with return type '{returnType}'. Ensure that the mapped function returns `IQueryable<{clrType}>`.
///
public static string InvalidMappedFunctionUnmatchedReturn([CanBeNull] object entityType, [CanBeNull] object functionName, [CanBeNull] object returnType, [CanBeNull] object clrType)
=> string.Format(
@@ -688,7 +688,7 @@ public static string InvalidMappedFunctionUnmatchedReturn([CanBeNull] object ent
entityType, functionName, returnType, clrType);
///
- /// The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' with parameters {parameters}. Ensure that mapped function doesn't have any parameters.
+ /// The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' with parameters {parameters}. Ensure that the mapped function doesn't have any parameters.
///
public static string InvalidMappedFunctionWithParameters([CanBeNull] object entityType, [CanBeNull] object functionName, [CanBeNull] object parameters)
=> string.Format(
@@ -696,7 +696,7 @@ public static string InvalidMappedFunctionWithParameters([CanBeNull] object enti
entityType, functionName, parameters);
///
- /// The entity type '{entityType}' is mapped to a SQL query and it's derived from '{baseEntityType}'. Derived entity types cannot be mapped to a different SQL query.
+ /// The entity type '{entityType}' is mapped to a SQL query, but is derived from '{baseEntityType}'. Derived entity types cannot be mapped to a different SQL query.
///
public static string InvalidMappedSqlQueryDerivedType([CanBeNull] object entityType, [CanBeNull] object baseEntityType)
=> string.Format(
@@ -716,7 +716,7 @@ public static string InvalidMinBatchSize
=> GetString("InvalidMinBatchSize");
///
- /// Queries performing '{method}' operation must have a deterministic sort order. Rewrite the query to apply an OrderBy clause on the sequence before calling '{method}'.
+ /// Queries performing '{method}' operation must have a deterministic sort order. Rewrite the query to apply an 'OrderBy' operation on the sequence before calling '{method}'.
///
public static string LastUsedWithoutOrderBy([CanBeNull] object method)
=> string.Format(
@@ -740,7 +740,7 @@ public static string MigrationNotFound([CanBeNull] object migrationName)
migrationName);
///
- /// Entity type '{entityType}' doesn't contain a property mapped to the store-generated concurrency token column '{missingColumn}' that is used by another entity type sharing the table '{table}'. Add a store-generated property mapped to the same column to '{entityType}'. It can be in shadow state.
+ /// Entity type '{entityType}' doesn't contain a property mapped to the store-generated concurrency token column '{missingColumn}' which is used by another entity type sharing the table '{table}'. Add a store-generated property to '{entityType}' which is mapped to the same column; it may be in shadow state.
///
public static string MissingConcurrencyColumn([CanBeNull] object entityType, [CanBeNull] object missingColumn, [CanBeNull] object table)
=> string.Format(
@@ -748,7 +748,7 @@ public static string MissingConcurrencyColumn([CanBeNull] object entityType, [Ca
entityType, missingColumn, table);
///
- /// Collection subquery that uses 'Distinct' or 'Group By' operations must project key columns of all of it's tables. Missing column: {column}. Either add column(s) to the projection or rewrite query to not use 'GroupBy'/'Distinct' operation.
+ /// A collection subquery that uses 'Distinct' or 'GroupBy' operations must project the key columns of all of its tables, but column {column} is missing. Either add column(s) to the projection, or rewrite the query to not use 'GroupBy' or 'Distinct' operations.
///
public static string MissingIdentifyingProjectionInDistinctGroupBySubquery([CanBeNull] object column)
=> string.Format(
@@ -756,13 +756,13 @@ public static string MissingIdentifyingProjectionInDistinctGroupBySubquery([CanB
column);
///
- /// Reverse could not be translated to the server because there is no ordering on the server side.
+ /// 'Reverse' could not be translated because there is no ordering on the server side.
///
public static string MissingOrderingInSqlExpression
=> GetString("MissingOrderingInSqlExpression");
///
- /// No value provided for required parameter '{parameter}'.
+ /// No value was provided for the required parameter '{parameter}'.
///
public static string MissingParameterValue([CanBeNull] object parameter)
=> string.Format(
@@ -792,7 +792,7 @@ public static string NamedConnectionStringNotFound([CanBeNull] object name)
name);
///
- /// Root ambient transaction was completed before the nested transaction. The more nested transactions should be completed first.
+ /// A root ambient transaction was completed before the nested transaction. The more nested transactions should be completed first.
///
public static string NestedAmbientTransactionError
=> GetString("NestedAmbientTransactionError");
@@ -810,13 +810,13 @@ public static string NoConnectionOrConnectionString
=> GetString("NoConnectionOrConnectionString");
///
- /// Cannot create a 'DbCommand' for a non-relational query.
+ /// Cannot create a DbCommand for a non-relational query.
///
public static string NoDbCommand
=> GetString("NoDbCommand");
///
- /// FindMapping on a 'RelationalTypeMappingSource' with a non-relational 'TypeMappingInfo'.
+ /// 'FindMapping' was called on a RelationalTypeMappingSource with a non-relational TypeMappingInfo.
///
public static string NoneRelationalTypeMappingOnARelationalTypeMappingSource
=> GetString("NoneRelationalTypeMappingOnARelationalTypeMappingSource");
@@ -846,7 +846,7 @@ public static string NonTPHViewClash([CanBeNull] object entityType, [CanBeNull]
entityType, otherEntityType, view);
///
- /// No relational database providers are configured. Configure a database provider using 'OnConfiguring' or by creating an ImmutableDbContextOptions with a database provider configured and passing it to the context.
+ /// No relational database providers are configured. Configure a database provider using 'OnConfiguring' or by creating an ImmutableDbContextOptions with a configured database provider and passing it to the context.
///
public static string NoProviderConfigured
=> GetString("NoProviderConfigured");
@@ -866,7 +866,7 @@ public static string NullabilityInfoOnlyAllowedOnScalarFunctions
=> GetString("NullabilityInfoOnlyAllowedOnScalarFunctions");
///
- /// Expression '{sqlExpression}' in SQL tree does not have type mapping assigned.
+ /// Expression '{sqlExpression}' in the SQL tree does not have a type mapping assigned.
///
public static string NullTypeMappingInSqlTree([CanBeNull] object sqlExpression)
=> string.Format(
@@ -888,7 +888,7 @@ public static string PendingAmbientTransaction
=> GetString("PendingAmbientTransaction");
///
- /// Different projection mapping count in set operation.
+ /// A different projection mapping count was encountered in a set operation.
///
public static string ProjectionMappingCountMismatch
=> GetString("ProjectionMappingCountMismatch");
@@ -922,7 +922,7 @@ public static string RelationalNotInUse
=> GetString("RelationalNotInUse");
///
- /// Cannot create 'SelectExpression' with custom 'TableExpressionBase' since result type '{entityType}' is part of hierarchy and does not contain a discriminator property.
+ /// Cannot create a SelectExpression with a custom TableExpressionBase since the result type '{entityType}' is part of a hierarchy and does not contain a discriminator property.
///
public static string SelectExpressionNonTPHWithCustomTable([CanBeNull] object entityType)
=> string.Format(
@@ -948,13 +948,13 @@ public static string SetOperationsOnDifferentStoreTypes
=> GetString("SetOperationsOnDifferentStoreTypes");
///
- /// This LINQ query is being executed in split-query mode. The SQL shown is for the first query to be executed. Additional queries may also be executed depending on the results of the first query.
+ /// This LINQ query is being executed in split-query mode, and the SQL shown is for the first query to be executed. Additional queries may also be executed depending on the results of the first query.
///
public static string SplitQueryString
=> GetString("SplitQueryString");
///
- /// The property '{propertySpecification}' has specific configuration for the SQL query '{query}', however it isn't mapped to a column on that query. Remove the specific configuration or map an entity type that contains this property to '{query}'.
+ /// The property '{propertySpecification}' has specific configuration for the SQL query '{query}', but isn't mapped to a column on that query. Remove the specific configuration, or map an entity type that contains this property to '{query}'.
///
public static string SqlQueryOverrideMismatch([CanBeNull] object propertySpecification, [CanBeNull] object query)
=> string.Format(
@@ -970,7 +970,7 @@ public static string TableNotMappedEntityType([CanBeNull] object entityType, [Ca
entityType, table);
///
- /// The property '{propertySpecification}' has specific configuration for the table '{table}', however it isn't mapped to a column on that table. Remove the specific configuration or map an entity type that contains this property to '{table}'.
+ /// The property '{propertySpecification}' has specific configuration for the table '{table}', but isn't mapped to a column on that table. Remove the specific configuration, or map an entity type that contains this property to '{table}'.
///
public static string TableOverrideMismatch([CanBeNull] object propertySpecification, [CanBeNull] object table)
=> string.Format(
@@ -978,7 +978,7 @@ public static string TableOverrideMismatch([CanBeNull] object propertySpecificat
propertySpecification, table);
///
- /// The element type of result of '{dbFunction}' is mapped to '{entityType}'. This is not supported since '{entityType}' is part of hierarchy and does not contain a discriminator property.
+ /// The element type of the result of '{dbFunction}' is mapped to '{entityType}'. This is not supported since '{entityType}' is part of hierarchy and does not contain a discriminator property.
///
public static string TableValuedFunctionNonTPH([CanBeNull] object dbFunction, [CanBeNull] object entityType)
=> string.Format(
@@ -986,7 +986,7 @@ public static string TableValuedFunctionNonTPH([CanBeNull] object dbFunction, [C
dbFunction, entityType);
///
- /// Timeout must be less than or equal to Int32.MaxValue (2147483647) seconds. Provided: {seconds} seconds.
+ /// Timeout must be less than or equal to Int32.MaxValue (2147483647) seconds. Provided timeout: {seconds} seconds.
///
public static string TimeoutTooBig([CanBeNull] object seconds)
=> string.Format(
@@ -994,7 +994,7 @@ public static string TimeoutTooBig([CanBeNull] object seconds)
seconds);
///
- /// Timeout must be greater than or equal to zero. Provided: {seconds} seconds.
+ /// Timeout must be greater than or equal to zero. Provided timeout: {seconds} seconds.
///
public static string TimeoutTooSmall([CanBeNull] object seconds)
=> string.Format(
@@ -1002,13 +1002,13 @@ public static string TimeoutTooSmall([CanBeNull] object seconds)
seconds);
///
- /// The underlying reader doesn't have as many fields as expected.
+ /// The underlying reader doesn't have enough fields.
///
public static string TooFewReaderFields
=> GetString("TooFewReaderFields");
///
- /// '{entityType}' is mapped to the table '{table}' while '{otherEntityType}' is mapped to the table '{otherTable}'. Map all the entity types in the hierarchy to the same table or remove the discriminator and map all of them to different tables. See https://go.microsoft.com/fwlink/?linkid=2130430 for more information.
+ /// '{entityType}' is mapped to the table '{table}' while '{otherEntityType}' is mapped to the table '{otherTable}'. Map all the entity types in the hierarchy to the same table, or remove the discriminator and map them all to different tables. See https://go.microsoft.com/fwlink/?linkid=2130430 for more information.
///
public static string TPHTableMismatch([CanBeNull] object entityType, [CanBeNull] object table, [CanBeNull] object otherEntityType, [CanBeNull] object otherTable)
=> string.Format(
@@ -1016,7 +1016,7 @@ public static string TPHTableMismatch([CanBeNull] object entityType, [CanBeNull]
entityType, table, otherEntityType, otherTable);
///
- /// '{entityType}' is mapped to the view '{view}' while '{otherEntityType}' is mapped to the view '{otherView}'. Map all the entity types in the hierarchy to the same view or remove the discriminator and map all of them to different views. See https://go.microsoft.com/fwlink/?linkid=2130430 for more information.
+ /// '{entityType}' is mapped to the view '{view}' while '{otherEntityType}' is mapped to the view '{otherView}'. Map all the entity types in the hierarchy to the same view, or remove the discriminator and map them all to different views. See https://go.microsoft.com/fwlink/?linkid=2130430 for more information.
///
public static string TPHViewMismatch([CanBeNull] object entityType, [CanBeNull] object view, [CanBeNull] object otherEntityType, [CanBeNull] object otherView)
=> string.Format(
@@ -1036,7 +1036,7 @@ public static string TransactionAssociatedWithDifferentConnection
=> GetString("TransactionAssociatedWithDifferentConnection");
///
- /// Unable to bind '{memberType}' '{member}' to entity projection of '{entityType}'.
+ /// Unable to bind '{memberType}.{member}' to an entity projection of '{entityType}'.
///
public static string UnableToBindMemberToEntityProjection([CanBeNull] object memberType, [CanBeNull] object member, [CanBeNull] object entityType)
=> string.Format(
@@ -1044,7 +1044,7 @@ public static string UnableToBindMemberToEntityProjection([CanBeNull] object mem
memberType, member, entityType);
///
- /// The query has been configured to use '{splitQueryEnumValue}' and contains a collection in the 'Select' call, which could not be split into separate query. Please remove '{splitQueryMethodName}' if applied or add '{singleQueryMethodName}' to the query.
+ /// The query has been configured to use '{splitQueryEnumValue}', but contains a collection in the 'Select' call which could not be split into a separate query. Remove '{splitQueryMethodName}' if applied, or add '{singleQueryMethodName}' to the query.
///
public static string UnableToSplitCollectionProjectionInSplitQuery([CanBeNull] object splitQueryEnumValue, [CanBeNull] object splitQueryMethodName, [CanBeNull] object singleQueryMethodName)
=> string.Format(
@@ -1052,7 +1052,7 @@ public static string UnableToSplitCollectionProjectionInSplitQuery([CanBeNull] o
splitQueryEnumValue, splitQueryMethodName, singleQueryMethodName);
///
- /// Unknown expression '{expression}' of type - '{expressionType}' encountered in '{visitor}'.
+ /// Unknown expression '{expression}' of type '{expressionType}' encountered in '{visitor}'.
///
public static string UnknownExpressionType([CanBeNull] object expression, [CanBeNull] object expressionType, [CanBeNull] object visitor)
=> string.Format(
@@ -1108,7 +1108,7 @@ public static string UnsupportedStoreType([CanBeNull] object type)
type);
///
- /// No mapping to a relational type can be found for the CLR type '{clrType}'.
+ /// No mapping to a relational type could be found for the CLR type '{clrType}'.
///
public static string UnsupportedType([CanBeNull] object clrType)
=> string.Format(
@@ -1116,7 +1116,7 @@ public static string UnsupportedType([CanBeNull] object clrType)
clrType);
///
- /// Database operation expected to affect {expectedRows} row(s) but actually affected {actualRows} row(s). Data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.
+ /// The database operation was expected to affect {expectedRows} row(s), but actually affected {actualRows} row(s); data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.
///
public static string UpdateConcurrencyException([CanBeNull] object expectedRows, [CanBeNull] object actualRows)
=> string.Format(
@@ -1140,7 +1140,7 @@ public static string UpdateDataOperationKeyValuesCountMismatch([CanBeNull] objec
valuesCount, columnsCount, table);
///
- /// The data modification operation on '{table}' is not associated with a model. Either add a model to the migration or specify the column types in all data operations.
+ /// The data modification operation on '{table}' is not associated with a model. Either add a model to the migration, or specify the column types in all data operations.
///
public static string UpdateDataOperationNoModel([CanBeNull] object table)
=> string.Format(
@@ -1178,7 +1178,7 @@ public static string UpdateStoreException
=> GetString("UpdateStoreException");
///
- /// The property '{propertySpecification}' has specific configuration for the view '{table}', however it isn't mapped to a column on that view. Remove the specific configuration or map an entity type that contains this property to '{table}'.
+ /// The property '{propertySpecification}' has specific configuration for the view '{table}', but isn't mapped to a column on that view. Remove the specific configuration, or map an entity type that contains this property to '{table}'.
///
public static string ViewOverrideMismatch([CanBeNull] object propertySpecification, [CanBeNull] object table)
=> string.Format(
@@ -1186,7 +1186,7 @@ public static string ViewOverrideMismatch([CanBeNull] object propertySpecificati
propertySpecification, table);
///
- /// VisitChildren must be overridden in class deriving from SqlExpression.
+ /// 'VisitChildren' must be overridden in class deriving from SqlExpression.
///
public static string VisitChildrenMustBeOverridden
=> GetString("VisitChildrenMustBeOverridden");
@@ -1218,7 +1218,7 @@ private static readonly ResourceManager _resourceManager
= new ResourceManager("Microsoft.EntityFrameworkCore.Properties.RelationalStrings", typeof(RelationalResources).Assembly);
///
- /// An ambient transaction has been detected. The current provider does not support ambient transactions. See http://go.microsoft.com/fwlink/?LinkId=800142
+ /// An ambient transaction has been detected, but the current provider does not support ambient transactions. See http://go.microsoft.com/fwlink/?LinkId=800142
///
public static EventDefinition LogAmbientTransaction([NotNull] IDiagnosticsLogger logger)
{
@@ -1434,7 +1434,7 @@ public static EventDefinition LogBeginningTransaction([NotNull] IDiagnos
}
///
- /// The 'bool' property '{property}' on entity type '{entityType}' is configured with a database-generated default. This default will always be used for inserts when the property has the value 'false', since this is the CLR default for the 'bool' type. Consider using the nullable 'bool?' type instead so that the default will only be used for inserts when the property value is 'null'.
+ /// The 'bool' property '{property}' on entity type '{entityType}' is configured with a database-generated default. This default will always be used for inserts when the property has the value 'false', since this is the CLR default for the 'bool' type. Consider using the nullable 'bool?' type instead, so that the default will only be used for inserts when the property value is 'null'.
///
public static EventDefinition LogBoolWithDefaultWarning([NotNull] IDiagnosticsLogger logger)
{
@@ -1842,7 +1842,7 @@ public static EventDefinition LogExplicitTransactionEnlisted([NotNull] I
}
///
- /// The foreign key {foreignKeyProperties} on the entity type '{entityType}' targeting '{principalEntityType}' cannot be represented in the database. Either the properties {foreignKeyProperties} aren't mapped to table '{table}' or the principal properties {principalProperties} aren't mapped to table '{principalTable}'. All foreign key properties must map to the table that the dependent type is mapped to and all principal properties must map to a single table that the principal type is mapped to.
+ /// The foreign key {foreignKeyProperties} on the entity type '{entityType}' targeting '{principalEntityType}' cannot be represented in the database. Either the properties {foreignKeyProperties} aren't mapped to table '{table}', or the principal properties {principalProperties} aren't mapped to table '{principalTable}'. All foreign key properties must map to the table to which the dependent type is mapped, and all principal properties must map to a single table to which the principal type is mapped.
///
public static FallbackEventDefinition LogForeignKeyPropertiesMappedToUnrelatedTables([NotNull] IDiagnosticsLogger logger)
{
@@ -1911,7 +1911,7 @@ public static EventDefinition LogGeneratingUp([NotNull] IDiagnosticsLogg
}
///
- /// Property '{property}' on entity type '{entityType}' is part of a primary or alternate key but has a constant default value set. Constant default values are not useful for primary or alternate keys since these properties must always have non-null unique values.
+ /// Property '{property}' on entity type '{entityType}' is part of a primary or alternate key, but has a constant default value set. Constant default values are not useful for primary or alternate keys since these properties must always have non-null unique values.
///
public static EventDefinition LogKeyHasDefaultValue([NotNull] IDiagnosticsLogger logger)
{
@@ -1983,7 +1983,7 @@ public static EventDefinition LogMigrationAttributeMissingWarning([NotNu
}
///
- /// Compiling a query which loads related collections for more than one collection navigation either via 'Include' or through projection but no 'QuerySplittingBehavior' has been configured. By default Entity Framework will use 'QuerySplittingBehavior.SingleQuery' which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'
+ /// A query is being compiled which loads related collections for more than one collection navigation, via either 'Include' or a projection, but no 'QuerySplittingBehavior' has been configured. By default, Entity Framework will use 'QuerySplittingBehavior.SingleQuery' which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning, call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'
///
public static EventDefinition LogMultipleCollectionIncludeWarning([NotNull] IDiagnosticsLogger logger)
{
@@ -2007,7 +2007,7 @@ public static EventDefinition LogMultipleCollectionIncludeWarning([NotNull] IDia
}
///
- /// The index named '{indexName}' on the entity type '{entityType}' specifies properties {indexProperties}. None of these properties are mapped to a column in any table. This index will not be created in the database.
+ /// The index named '{indexName}' on the entity type '{entityType}' specifies properties {indexProperties}, but none of these properties are mapped to a column in any table. This index will not be created in the database.
///
public static EventDefinition LogNamedIndexAllPropertiesNotToMappedToAnyTable([NotNull] IDiagnosticsLogger logger)
{
@@ -2031,7 +2031,7 @@ public static EventDefinition LogNamedIndexAllProperties
}
///
- /// The index named '{indexName}' on the entity type '{entityType}' specifies properties {indexProperties}. Some properties are mapped to a column in a table, but the property '{propertyName}' is not. All of the properties should be mapped for the index to be created in the database.
+ /// The index named '{indexName}' on the entity type '{entityType}' specifies properties {indexProperties}. Some properties are mapped to a column in a table, but the property '{propertyName}' is not. All of the properties must be mapped for the index to be created in the database.
///
public static EventDefinition LogNamedIndexPropertiesBothMappedAndNotMappedToTable([NotNull] IDiagnosticsLogger logger)
{
@@ -2172,7 +2172,7 @@ public static EventDefinition LogOpeningConnection([NotNull] IDi
}
///
- /// Possible unintended use of method Equals(object) for arguments '{left}' and '{right}' of different types in query. This comparison will always return 'false'.
+ /// Possible unintended use of method 'Equals' for arguments '{left}' and '{right}' of different types in a query. This comparison will always return false.
///
public static EventDefinition LogPossibleUnintendedUseOfEquals([NotNull] IDiagnosticsLogger logger)
{
@@ -2196,7 +2196,7 @@ public static EventDefinition LogPossibleUnintendedUseOfEquals([
}
///
- /// Possible unintended use of a potentially throwing aggregate method (Min, Max, Average) in a subquery. Client evaluation will be used and operator will throw if no data exists. Changing the subquery result type to a nullable type will allow full translation.
+ /// Possible unintended use of a potentially throwing aggregate operator ('Min', 'Max', 'Average') in a subquery. Client evaluation will be used and the operator will throw if no data exists. Changing the subquery result type to a nullable type will allow the operator to be translated.
///
[Obsolete]
public static EventDefinition LogQueryPossibleExceptionWithAggregateOperatorWarning([NotNull] IDiagnosticsLogger logger)
@@ -2413,7 +2413,7 @@ public static EventDefinition LogTransactionError([NotNull] IDiagnosticsLogger l
}
///
- /// The unnamed index on the entity type '{entityType}' specifies properties {indexProperties}. None of these properties are mapped to a column in any table. This index will not be created in the database.
+ /// The unnamed index on the entity type '{entityType}' specifies properties {indexProperties}, but none of these properties are mapped to a column in any table. This index will not be created in the database.
///
public static EventDefinition LogUnnamedIndexAllPropertiesNotToMappedToAnyTable([NotNull] IDiagnosticsLogger logger)
{
@@ -2437,7 +2437,7 @@ public static EventDefinition LogUnnamedIndexAllPropertiesNotToM
}
///
- /// The unnamed index on the entity type '{entityType}' specifies properties {indexProperties}. Some properties are mapped to a column in a table, but the property '{propertyName}' is not. All of the properties should be mapped for the index to be created in the database.
+ /// The unnamed index on the entity type '{entityType}' specifies properties {indexProperties}. Some properties are mapped to a column in a table, but the property '{propertyName}' is not. All of the properties must be mapped for the index to be created in the database.
///
public static EventDefinition LogUnnamedIndexPropertiesBothMappedAndNotMappedToTable([NotNull] IDiagnosticsLogger logger)
{
diff --git a/src/EFCore.Relational/Properties/RelationalStrings.resx b/src/EFCore.Relational/Properties/RelationalStrings.resx
index 56bfecae835..cf0bd5b68d5 100644
--- a/src/EFCore.Relational/Properties/RelationalStrings.resx
+++ b/src/EFCore.Relational/Properties/RelationalStrings.resx
@@ -118,34 +118,34 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- Unable to deserialize sequence from model metadata. See inner exception for details.
+ Unable to deserialize a sequence from model metadata. See inner exception for details.
- Invalid type for sequence. Valid types are 'Int64' (the default), 'Int32', 'Int16', 'Byte' and 'Decimal'.
+ Invalid type for sequence. Valid types are long (the default), int, short, byte and decimal.
- The 'DbConnection' is currently in use. The connection can only be changed when the existing connection is not being used.
+ The instance of DbConnection is currently in use. The connection can only be changed when the existing connection is not being used.
- The given GroupBy pattern is not translatable. Call AsEnumerable before GroupBy to evaluate it locally.
+ The given GroupBy pattern cannot be translated. Call AsEnumerable before GroupBy to evaluate it locally.
- The column '{column}' on table '{table}' has unspecified computed column SQL. Specify the SQL before using Entity Framework to create the database schema.
+ The computed column SQL has not been specified for the column '{table}.{column}'. Specify the SQL before using Entity Framework to create the database schema.
- An ambient transaction has been detected. The ambient transaction needs to be completed before beginning a transaction on this connection.
+ An ambient transaction has been detected. The ambient transaction needs to be completed before starting a new transaction on this connection.
{conflictingConfiguration} cannot be set for '{property}' at the same time as {existingConfiguration}. Remove one of these values.
- The connection is currently enlisted in a transaction. The enlisted transaction needs to be completed before starting a transaction.
+ The connection is currently enlisted in a transaction. The enlisted transaction needs to be completed before starting a new transaction.
An instance of entity type '{firstEntityType}' and an instance of entity type '{secondEntityType}' are mapped to the same row, but have different original property values for the properties {firstProperty} and {secondProperty} mapped to '{column}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting values.
- The instance of entity type '{firstEntityType}' and the instance of entity type '{secondEntityType}' are mapped to the same row with the key value '{keyValue}', but have different original property values {firstConflictingValues} and {secondConflictingValues} for the column '{column}'.
+ Instances of entity types '{firstEntityType}' and '{secondEntityType}' are mapped to the same row with the key value '{keyValue}', but have different original property values {firstConflictingValues} and {secondConflictingValues} for the column '{column}'.
An instance of entity type '{firstEntityType}' is marked as '{firstState}', but an instance of entity type '{secondEntityType}' is marked as '{secondState}' and both are mapped to the same row. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the key values.
@@ -154,25 +154,25 @@
The instance of entity type '{firstEntityType}' with the key value '{firstKeyValue}' is marked as '{firstState}', but the instance of entity type '{secondEntityType}' with the key value '{secondKeyValue}' is marked as '{secondState}' and both are mapped to the same row.
- An instance of entity type '{firstEntityType}' and an instance of entity type '{secondEntityType}' are mapped to the same row, but have different property values for the properties {firstProperty} and {secondProperty} mapped to '{column}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting values.
+ Instances of entity types '{firstEntityType}' and '{secondEntityType}' are mapped to the same row, but have different property values for the properties {firstProperty} and {secondProperty} mapped to '{column}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting values.
- The instance of entity type '{firstEntityType}' and the instance of entity type '{secondEntityType}' are mapped to the same row with the key value '{keyValue}', but have different property values '{firstConflictingValue}' and '{secondConflictingValue}' for the column '{column}'.
+ Instances of entity types '{firstEntityType}' and '{secondEntityType}' are mapped to the same row with the key value '{keyValue}', but have different property values '{firstConflictingValue}' and '{secondConflictingValue}' for the column '{column}'.
The database model hasn't been initialized. The model needs to be finalized before the database model can be accessed.
- There is no property mapped to the column '{table}.{column}' used in a data operation. Either add a property mapped to this column or specify the column types in the data operation.
+ There is no property mapped to the column '{table}.{column}' which is used in a data operation. Either add a property mapped to this column, or specify the column types in the data operation.
- There is no entity type mapped to the table '{table}' used in a data operation. Either add the corresponding entity type to the model or specify the column types in the data operation.
+ There is no entity type mapped to the table '{table}' which is used in a data operation. Either add the corresponding entity type to the model, or specify the column types in the data operation.
Cannot set custom translation on the DbFunction '{function}' since it is an aggregate function.
- The provided DbFunction expression '{expression}' is invalid. The expression should be a lambda expression containing a single method call to the target static method. Default values can be provided as arguments if required. E.g. () => SomeClass.SomeMethod(null, 0)
+ The provided DbFunction expression '{expression}' is invalid. The expression must be a lambda expression containing a single method call to the target static method. Default values can be provided as arguments if required, e.g. () => SomeClass.SomeMethod(null, 0)
The DbFunction '{function}' is generic. Generic methods are not supported.
@@ -193,22 +193,22 @@
The parameter '{parameter}' for the DbFunction '{function}' has an invalid type '{type}'. Ensure the parameter type can be mapped by the current provider.
- The DbFunction '{function}' returns '{type}', but `{elementType}` is not a mapped entity type. Ensure that `{elementType}` is included in the model.
+ The DbFunction '{function}' returns '{type}', but '{elementType}' is not a mapped entity type. Ensure that '{elementType}' is included in the model.
The DbFunction '{function}' has an invalid return type '{type}'. Ensure that the return type can be mapped by the current provider.
- Cannot set custom translation on the DbFunction '{function}' since it is a table valued function.
+ Cannot set custom translation on the DbFunction '{function}' since it is a table-valued function.
- The column '{column}' on table '{table}' has unspecified default value SQL. Specify the SQL before using Entity Framework to create the database schema.
+ The default value SQL has not been specified for the column '{table}.{column}'. Specify the SQL before using Entity Framework to create the database schema.
- The column '{column}' on table '{table}' has an unspecified default value. Specify a value before using Entity Framework to create the database schema.
+ The default value has not been specified for the column '{table}.{column}'. Specify a value before using Entity Framework to create the database schema.
- The data deletion operation on '{table}' is not associated with a model. Either add a model to the migration or specify the column types in all data operations.
+ The data deletion operation on '{table}' is not associated with a model. Either add a model to the migration, or specify the column types in all data operations.
The number of key column types ({typesCount}) doesn't match the number of key columns ({columnsCount}) for the data deletion operation on '{table}'. Provide the same number of key column types and key columns.
@@ -224,76 +224,76 @@
The check constraint '{checkConstraint}' cannot be added to the entity type '{entityType}' because another check constraint with the same name already exists.
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different collations ('{collation1}' and '{collation2}').
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different collations ('{collation1}' and '{collation2}').
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different comments ('{comment1}' and '{comment2}').
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different comments ('{comment1}' and '{comment2}').
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different computed values ('{value1}' and '{value2}').
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different computed values ('{value1}' and '{value2}').
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different concurrency token configuration.
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different concurrency token configurations.
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different data types ('{dataType1}' and '{dataType2}').
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different data types ('{dataType1}' and '{dataType2}').
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different default values ('{value1}' and '{value2}').
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different default values ('{value1}' and '{value2}').
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different fixed length configuration.
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different fixed length configuration.
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured to use different stored computed column settings ('{value1}' and '{value2}').
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured to use different stored computed column settings ('{value1}' and '{value2}').
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different max lengths ('{maxLength1}' and '{maxLength2}').
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different maximum lengths ('{maxLength1}' and '{maxLength2}').
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different nullability.
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different nullability settings.
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different precision ('{precision1}' and '{precision2}').
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different precisions ('{precision1}' and '{precision2}').
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different scale ('{scale1}' and '{scale2}').
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different scales ('{scale1}' and '{scale2}').
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different unicode configuration
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different unicode configurations.
- The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but use different columns ({columnNames1} and {columnNames2}).
+ The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but use different columns ({columnNames1} and {columnNames2}).
- The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but with different delete behavior ('{deleteBehavior1}' and '{deleteBehavior2}').
+ The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but with different delete behavior ('{deleteBehavior1}' and '{deleteBehavior2}').
- The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but referencing different principal columns ({principalColumnNames1} and {principalColumnNames2}).
+ The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but referencing different principal columns ({principalColumnNames1} and {principalColumnNames2}).
- The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but referencing different principal tables ('{principalTable1}' and '{principalTable2}').
+ The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but referencing different principal tables ('{principalTable1}' and '{principalTable2}').
- The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{foreignKeyName}' but are declared on different tables ('{table1}' and '{table2}').
+ The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{foreignKeyName}', but are declared on different tables ('{table1}' and '{table2}').
- The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}' but with different uniqueness.
+ The foreign keys {foreignKeyProperties1} on '{entityType1}' and {foreignKeyProperties2} on '{entityType2}' are both mapped to '{table}.{foreignKeyName}', but with different uniqueness settings.
- The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different columns ({columnNames1} and {columnNames2}).
+ The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different columns ({columnNames1} and {columnNames2}).
- The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{indexName}' but are declared on different tables ('{table1}' and '{table2}').
+ The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{indexName}', but are declared on different tables ('{table1}' and '{table2}').
- The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different uniqueness.
+ The indexes {indexProperties1} on '{entityType1}' and {indexProperties2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different uniqueness settings.
- The keys {keyProperties1} on '{entityType1}' and {keyProperties2} on '{entityType2}' are both mapped to '{table}.{keyName}' but with different columns ({columnNames1} and {columnNames2}).
+ The keys {keyProperties1} on '{entityType1}' and {keyProperties2} on '{entityType2}' are both mapped to '{table}.{keyName}', but with different columns ({columnNames1} and {columnNames2}).
- The keys {keyProperties1} on '{entityType1}' and {keyProperties2} on '{entityType2}' are both mapped to '{keyName}' but on different tables ('{table1}' and '{table2}').
+ The keys {keyProperties1} on '{entityType1}' and {keyProperties2} on '{entityType2}' are both mapped to '{keyName}', but on different tables ('{table1}' and '{table2}').
Either {param1} or {param2} must be null.
@@ -317,10 +317,10 @@
The required column '{column}' was not present in the results of a 'FromSql' operation.
- FromSqlRaw or FromSqlInterpolated was called with non-composable SQL and with a query composing over it. Consider calling `AsEnumerable` after the FromSqlRaw or FromSqlInterpolated method to perform the composition on the client side.
+ 'FromSqlRaw' or 'FromSqlInterpolated' was called with non-composable SQL and with a query composing over it. Consider calling 'AsEnumerable' after the 'FromSqlRaw' or 'FromSqlInterpolated' method to perform the composition on the client side.
- The property '{propertySpecification}' has specific configuration for the function '{function}', however it isn't mapped to a column on that function return. Remove the specific configuration or map an entity type that contains this property to '{function}'.
+ The property '{propertySpecification}' has specific configuration for the function '{function}', but it isn't mapped to a column on that function return. Remove the specific configuration, or map an entity type that contains this property to '{function}'.
Data is null. This method or property cannot be called on null values.
@@ -329,10 +329,10 @@
Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and the comment '{comment}' does not match the comment '{otherComment}'.
- Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}', there is a relationship between their primary keys in which '{entityType}' is the dependent and '{entityType}' has a base entity type mapped to a different table. Either map '{otherEntityType}' to a different table or invert the relationship between '{entityType}' and '{otherEntityType}'.
+ Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and there is a relationship between their primary keys in which '{entityType}' is the dependent, but '{entityType}' has a base entity type mapped to a different table. Either map '{otherEntityType}' to a different table, or invert the relationship between '{entityType}' and '{otherEntityType}'.
- Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and it excluded from migration on one entity type, but not the other. Exclude the table from migrations on all entity types mapped to the table.
+ Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and it is excluded from migrations on one entity type but not on the other. Exclude the table from migrations on all entity types mapped to the table.
Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and the name '{keyName}' of the primary key {primaryKey} does not match the name '{otherName}' of the primary key {otherPrimaryKey}.
@@ -341,7 +341,7 @@
Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and potentially other entity types, but there is no linking relationship. Add a foreign key to '{entityType}' on the primary key properties and pointing to the primary key on another entity typed mapped to '{table}'.
- Cannot use view '{view}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}', there is a relationship between their primary keys in which '{entityType}' is the dependent and '{entityType}' has a base entity type mapped to a different view. Either map '{otherEntityType}' to a different view or invert the relationship between '{entityType}' and '{otherEntityType}'.
+ Cannot use view '{view}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and there is a relationship between their primary keys in which '{entityType}' is the dependent, but '{entityType}' has a base entity type mapped to a different view. Either map '{otherEntityType}' to a different view, or invert the relationship between '{entityType}' and '{otherEntityType}'.
Cannot use view '{view}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and there is no relationship between their primary keys.
@@ -350,7 +350,7 @@
Cannot set default value '{value}' of type '{valueType}' on property '{property}' of type '{propertyType}' in entity type '{entityType}'.
- The data insertion operation on '{table}' is not associated with a model. Either add a model to the migration or specify the column types in all data operations.
+ The data insertion operation on '{table}' is not associated with a model. Either add a model to the migration, or specify the column types in all data operations.
The number of column types ({typesCount}) doesn't match the number of columns ({columnsCount}) for the data insertion operation on '{table}'. Provide the same number of column types and columns.
@@ -359,7 +359,7 @@
The number of values ({valuesCount}) doesn't match the number of columns ({columnsCount}) for the data insertion operation on '{table}'. Provide the same number of values and columns.
- Not enough information to uniquely identify outer element in correlated collection scenario. This can happen when trying to correlate on keyless entity or when using 'Distinct' or 'GroupBy' operations without projecting all of the key columns.
+ There isn't enough information to uniquely identify the outer element in a correlated collection scenario. This can happen when trying to correlate on keyless entity or when using 'Distinct' or 'GroupBy' operations without projecting all of the key columns.
The specified CommandTimeout value is not valid. It must be a positive number.
@@ -371,16 +371,16 @@
Invalid keySelector for GroupBy.
- The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' and it's derived from '{baseEntityType}'. Derived entity types cannot be mapped to a function.
+ The entity type '{entityType}' is mapped to the DbFunction named '{functionName}', but is derived from '{baseEntityType}'. Derived entity types cannot be mapped to a function.
- The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' with return type '{returnType}'. Ensure that mapped function returns `IQueryable<{clrType}>`.
+ The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' with return type '{returnType}'. Ensure that the mapped function returns `IQueryable<{clrType}>`.
- The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' with parameters {parameters}. Ensure that mapped function doesn't have any parameters.
+ The entity type '{entityType}' is mapped to the DbFunction named '{functionName}' with parameters {parameters}. Ensure that the mapped function doesn't have any parameters.
- The entity type '{entityType}' is mapped to a SQL query and it's derived from '{baseEntityType}'. Derived entity types cannot be mapped to a different SQL query.
+ The entity type '{entityType}' is mapped to a SQL query, but is derived from '{baseEntityType}'. Derived entity types cannot be mapped to a different SQL query.
The specified MaxBatchSize value is not valid. It must be a positive number.
@@ -389,10 +389,10 @@
The specified MinBatchSize value is not valid. It must be a positive number.
- Queries performing '{method}' operation must have a deterministic sort order. Rewrite the query to apply an OrderBy clause on the sequence before calling '{method}'.
+ Queries performing '{method}' operation must have a deterministic sort order. Rewrite the query to apply an 'OrderBy' operation on the sequence before calling '{method}'.
- An ambient transaction has been detected. The current provider does not support ambient transactions. See http://go.microsoft.com/fwlink/?LinkId=800142
+ An ambient transaction has been detected, but the current provider does not support ambient transactions. See http://go.microsoft.com/fwlink/?LinkId=800142
Warning RelationalEventId.AmbientTransactionWarning
@@ -428,7 +428,7 @@
Debug RelationalEventId.TransactionStarting string
- The 'bool' property '{property}' on entity type '{entityType}' is configured with a database-generated default. This default will always be used for inserts when the property has the value 'false', since this is the CLR default for the 'bool' type. Consider using the nullable 'bool?' type instead so that the default will only be used for inserts when the property value is 'null'.
+ The 'bool' property '{property}' on entity type '{entityType}' is configured with a database-generated default. This default will always be used for inserts when the property has the value 'false', since this is the CLR default for the 'bool' type. Consider using the nullable 'bool?' type instead, so that the default will only be used for inserts when the property value is 'null'.
Warning RelationalEventId.BoolWithDefaultWarning string string
@@ -496,7 +496,7 @@
Debug RelationalEventId.ExplicitTransactionEnlisted string
- The foreign key {foreignKeyProperties} on the entity type '{entityType}' targeting '{principalEntityType}' cannot be represented in the database. Either the properties {foreignKeyProperties} aren't mapped to table '{table}' or the principal properties {principalProperties} aren't mapped to table '{principalTable}'. All foreign key properties must map to the table that the dependent type is mapped to and all principal properties must map to a single table that the principal type is mapped to.
+ The foreign key {foreignKeyProperties} on the entity type '{entityType}' targeting '{principalEntityType}' cannot be represented in the database. Either the properties {foreignKeyProperties} aren't mapped to table '{table}', or the principal properties {principalProperties} aren't mapped to table '{principalTable}'. All foreign key properties must map to the table to which the dependent type is mapped, and all principal properties must map to a single table to which the principal type is mapped.
Error RelationalEventId.ForeignKeyPropertiesMappedToUnrelatedTables string string string string string string string
@@ -508,7 +508,7 @@
Debug RelationalEventId.MigrationGeneratingUpScript string
- Property '{property}' on entity type '{entityType}' is part of a primary or alternate key but has a constant default value set. Constant default values are not useful for primary or alternate keys since these properties must always have non-null unique values.
+ Property '{property}' on entity type '{entityType}' is part of a primary or alternate key, but has a constant default value set. Constant default values are not useful for primary or alternate keys since these properties must always have non-null unique values.
Warning RelationalEventId.ModelValidationKeyDefaultValueWarning string string
@@ -520,15 +520,15 @@
Warning RelationalEventId.MigrationAttributeMissingWarning string
- Compiling a query which loads related collections for more than one collection navigation either via 'Include' or through projection but no 'QuerySplittingBehavior' has been configured. By default Entity Framework will use 'QuerySplittingBehavior.SingleQuery' which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'
+ A query is being compiled which loads related collections for more than one collection navigation, via either 'Include' or a projection, but no 'QuerySplittingBehavior' has been configured. By default, Entity Framework will use 'QuerySplittingBehavior.SingleQuery' which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning, call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'
Warning RelationalEventId.MultipleCollectionIncludeWarning
- The index named '{indexName}' on the entity type '{entityType}' specifies properties {indexProperties}. None of these properties are mapped to a column in any table. This index will not be created in the database.
+ The index named '{indexName}' on the entity type '{entityType}' specifies properties {indexProperties}, but none of these properties are mapped to a column in any table. This index will not be created in the database.
Information RelationalEventId.AllIndexPropertiesNotToMappedToAnyTable string string string
- The index named '{indexName}' on the entity type '{entityType}' specifies properties {indexProperties}. Some properties are mapped to a column in a table, but the property '{propertyName}' is not. All of the properties should be mapped for the index to be created in the database.
+ The index named '{indexName}' on the entity type '{entityType}' specifies properties {indexProperties}. Some properties are mapped to a column in a table, but the property '{propertyName}' is not. All of the properties must be mapped for the index to be created in the database.
Error RelationalEventId.IndexPropertiesBothMappedAndNotMappedToTable string string string string
@@ -552,11 +552,11 @@
Debug RelationalEventId.ConnectionOpening string string
- Possible unintended use of method Equals(object) for arguments '{left}' and '{right}' of different types in query. This comparison will always return 'false'.
+ Possible unintended use of method 'Equals' for arguments '{left}' and '{right}' of different types in a query. This comparison will always return false.
Warning RelationalEventId.QueryPossibleUnintendedUseOfEqualsWarning string string
- Possible unintended use of a potentially throwing aggregate method (Min, Max, Average) in a subquery. Client evaluation will be used and operator will throw if no data exists. Changing the subquery result type to a nullable type will allow full translation.
+ Possible unintended use of a potentially throwing aggregate operator ('Min', 'Max', 'Average') in a subquery. Client evaluation will be used and the operator will throw if no data exists. Changing the subquery result type to a nullable type will allow the operator to be translated.
Obsolete Warning RelationalEventId.QueryPossibleExceptionWithAggregateOperatorWarning
@@ -592,11 +592,11 @@
Error RelationalEventId.TransactionError
- The unnamed index on the entity type '{entityType}' specifies properties {indexProperties}. None of these properties are mapped to a column in any table. This index will not be created in the database.
+ The unnamed index on the entity type '{entityType}' specifies properties {indexProperties}, but none of these properties are mapped to a column in any table. This index will not be created in the database.
Information RelationalEventId.AllIndexPropertiesNotToMappedToAnyTable string string
- The unnamed index on the entity type '{entityType}' specifies properties {indexProperties}. Some properties are mapped to a column in a table, but the property '{propertyName}' is not. All of the properties should be mapped for the index to be created in the database.
+ The unnamed index on the entity type '{entityType}' specifies properties {indexProperties}. Some properties are mapped to a column in a table, but the property '{propertyName}' is not. All of the properties must be mapped for the index to be created in the database.
Error RelationalEventId.IndexPropertiesBothMappedAndNotMappedToTable string string string
@@ -614,16 +614,16 @@
The migration '{migrationName}' was not found.
- Entity type '{entityType}' doesn't contain a property mapped to the store-generated concurrency token column '{missingColumn}' that is used by another entity type sharing the table '{table}'. Add a store-generated property mapped to the same column to '{entityType}'. It can be in shadow state.
+ Entity type '{entityType}' doesn't contain a property mapped to the store-generated concurrency token column '{missingColumn}' which is used by another entity type sharing the table '{table}'. Add a store-generated property to '{entityType}' which is mapped to the same column; it may be in shadow state.
- Collection subquery that uses 'Distinct' or 'Group By' operations must project key columns of all of it's tables. Missing column: {column}. Either add column(s) to the projection or rewrite query to not use 'GroupBy'/'Distinct' operation.
+ A collection subquery that uses 'Distinct' or 'GroupBy' operations must project the key columns of all of its tables, but column {column} is missing. Either add column(s) to the projection, or rewrite the query to not use 'GroupBy' or 'Distinct' operations.
- Reverse could not be translated to the server because there is no ordering on the server side.
+ 'Reverse' could not be translated because there is no ordering on the server side.
- No value provided for required parameter '{parameter}'.
+ No value was provided for the required parameter '{parameter}'.
Cannot save changes for an entity in state '{entityState}'.
@@ -635,7 +635,7 @@
A named connection string was used, but the name '{name}' was not found in the application's configuration. Note that named connection strings are only supported when using 'IConfiguration' and a service provider, such as in a typical ASP.NET Core application. See https://go.microsoft.com/fwlink/?linkid=850912 for more information.
- Root ambient transaction was completed before the nested transaction. The more nested transactions should be completed first.
+ A root ambient transaction was completed before the nested transaction. The more nested transactions should be completed first.
The connection does not have any active transactions.
@@ -644,10 +644,10 @@
A relational store has been configured without specifying either the DbConnection or connection string to use.
- Cannot create a 'DbCommand' for a non-relational query.
+ Cannot create a DbCommand for a non-relational query.
- FindMapping on a 'RelationalTypeMappingSource' with a non-relational 'TypeMappingInfo'.
+ 'FindMapping' was called on a RelationalTypeMappingSource with a non-relational TypeMappingInfo.
Using '{memberName}' on DbSet of '{entityType}' is not supported since '{entityType}' is part of hierarchy and does not contain a discriminator property.
@@ -659,7 +659,7 @@
Both '{entityType}' and '{otherEntityType}' are mapped to the view '{view}'. All the entity types in a hierarchy that don't have a discriminator must be mapped to different views. See https://go.microsoft.com/fwlink/?linkid=2130430 for more information.
- No relational database providers are configured. Configure a database provider using 'OnConfiguring' or by creating an ImmutableDbContextOptions with a database provider configured and passing it to the context.
+ No relational database providers are configured. Configure a database provider using 'OnConfiguring' or by creating an ImmutableDbContextOptions with a configured database provider and passing it to the context.
The subquery '{subquery}' references type '{type}' for which no type mapping could be found.
@@ -668,7 +668,7 @@
Nullability information should only be specified for scalar database functions.
- Expression '{sqlExpression}' in SQL tree does not have type mapping assigned.
+ Expression '{sqlExpression}' in the SQL tree does not have a type mapping assigned.
Cannot use the value provided for parameter '{parameter}' because it isn't assignable to type object[].
@@ -677,7 +677,7 @@
This connection was used with an ambient transaction. The original ambient transaction needs to be completed before this connection can be used outside of it.
- Different projection mapping count in set operation.
+ A different projection mapping count was encountered in a set operation.
The property '{property}' on entity type '{entityType}' is not mapped to the table '{table}'.
@@ -692,7 +692,7 @@
Relational-specific methods can only be used when the context is using a relational database provider.
- Cannot create 'SelectExpression' with custom 'TableExpressionBase' since result type '{entityType}' is part of hierarchy and does not contain a discriminator property.
+ Cannot create a SelectExpression with a custom TableExpressionBase since the result type '{entityType}' is part of a hierarchy and does not contain a discriminator property.
Sequence contains no elements.
@@ -704,34 +704,34 @@
Set operations over different store types are currently unsupported.
- This LINQ query is being executed in split-query mode. The SQL shown is for the first query to be executed. Additional queries may also be executed depending on the results of the first query.
+ This LINQ query is being executed in split-query mode, and the SQL shown is for the first query to be executed. Additional queries may also be executed depending on the results of the first query.
- The property '{propertySpecification}' has specific configuration for the SQL query '{query}', however it isn't mapped to a column on that query. Remove the specific configuration or map an entity type that contains this property to '{query}'.
+ The property '{propertySpecification}' has specific configuration for the SQL query '{query}', but isn't mapped to a column on that query. Remove the specific configuration, or map an entity type that contains this property to '{query}'.
The entity type '{entityType}' is not mapped to the store object '{table}'.
- The property '{propertySpecification}' has specific configuration for the table '{table}', however it isn't mapped to a column on that table. Remove the specific configuration or map an entity type that contains this property to '{table}'.
+ The property '{propertySpecification}' has specific configuration for the table '{table}', but isn't mapped to a column on that table. Remove the specific configuration, or map an entity type that contains this property to '{table}'.
- The element type of result of '{dbFunction}' is mapped to '{entityType}'. This is not supported since '{entityType}' is part of hierarchy and does not contain a discriminator property.
+ The element type of the result of '{dbFunction}' is mapped to '{entityType}'. This is not supported since '{entityType}' is part of hierarchy and does not contain a discriminator property.
- Timeout must be less than or equal to Int32.MaxValue (2147483647) seconds. Provided: {seconds} seconds.
+ Timeout must be less than or equal to Int32.MaxValue (2147483647) seconds. Provided timeout: {seconds} seconds.
- Timeout must be greater than or equal to zero. Provided: {seconds} seconds.
+ Timeout must be greater than or equal to zero. Provided timeout: {seconds} seconds.
- The underlying reader doesn't have as many fields as expected.
+ The underlying reader doesn't have enough fields.
- '{entityType}' is mapped to the table '{table}' while '{otherEntityType}' is mapped to the table '{otherTable}'. Map all the entity types in the hierarchy to the same table or remove the discriminator and map all of them to different tables. See https://go.microsoft.com/fwlink/?linkid=2130430 for more information.
+ '{entityType}' is mapped to the table '{table}' while '{otherEntityType}' is mapped to the table '{otherTable}'. Map all the entity types in the hierarchy to the same table, or remove the discriminator and map them all to different tables. See https://go.microsoft.com/fwlink/?linkid=2130430 for more information.
- '{entityType}' is mapped to the view '{view}' while '{otherEntityType}' is mapped to the view '{otherView}'. Map all the entity types in the hierarchy to the same view or remove the discriminator and map all of them to different views. See https://go.microsoft.com/fwlink/?linkid=2130430 for more information.
+ '{entityType}' is mapped to the view '{view}' while '{otherEntityType}' is mapped to the view '{otherView}'. Map all the entity types in the hierarchy to the same view, or remove the discriminator and map them all to different views. See https://go.microsoft.com/fwlink/?linkid=2130430 for more information.
The connection is already in a transaction and cannot participate in another transaction.
@@ -740,13 +740,13 @@
The specified transaction is not associated with the current connection. Only transactions associated with the current connection may be used.
- Unable to bind '{memberType}' '{member}' to entity projection of '{entityType}'.
+ Unable to bind '{memberType}.{member}' to an entity projection of '{entityType}'.
- The query has been configured to use '{splitQueryEnumValue}' and contains a collection in the 'Select' call, which could not be split into separate query. Please remove '{splitQueryMethodName}' if applied or add '{singleQueryMethodName}' to the query.
+ The query has been configured to use '{splitQueryEnumValue}', but contains a collection in the 'Select' call which could not be split into a separate query. Remove '{splitQueryMethodName}' if applied, or add '{singleQueryMethodName}' to the query.
- Unknown expression '{expression}' of type - '{expressionType}' encountered in '{visitor}'.
+ Unknown expression '{expression}' of type '{expressionType}' encountered in '{visitor}'.
The current migration SQL generator '{sqlGeneratorType}' is unable to generate SQL for operations of type '{operationType}'.
@@ -767,10 +767,10 @@
The store type '{type}' is not supported by the current provider.
- No mapping to a relational type can be found for the CLR type '{clrType}'.
+ No mapping to a relational type could be found for the CLR type '{clrType}'.
- Database operation expected to affect {expectedRows} row(s) but actually affected {actualRows} row(s). Data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.
+ The database operation was expected to affect {expectedRows} row(s), but actually affected {actualRows} row(s); data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.
The number of key column types ({typesCount}) doesn't match the number of key columns ({columnsCount}) for the data modification operation on '{table}'. Provide the same number of key column types and key columns.
@@ -779,7 +779,7 @@
The number of key values ({valuesCount}) doesn't match the number of key columns ({columnsCount}) for the data modification operation on '{table}'. Provide the same number of key values and key columns.
- The data modification operation on '{table}' is not associated with a model. Either add a model to the migration or specify the column types in all data operations.
+ The data modification operation on '{table}' is not associated with a model. Either add a model to the migration, or specify the column types in all data operations.
The number of value rows ({valuesCount}) doesn't match the number of key rows ({keyCount}) for the data modification operation on '{table}'. Provide the same number of value rows and key rows.
@@ -794,9 +794,9 @@
An error occurred while updating the entries. See the inner exception for details.
- The property '{propertySpecification}' has specific configuration for the view '{table}', however it isn't mapped to a column on that view. Remove the specific configuration or map an entity type that contains this property to '{table}'.
+ The property '{propertySpecification}' has specific configuration for the view '{table}', but isn't mapped to a column on that view. Remove the specific configuration, or map an entity type that contains this property to '{table}'.
- VisitChildren must be overridden in class deriving from SqlExpression.
+ 'VisitChildren' must be overridden in class deriving from SqlExpression.
\ No newline at end of file
diff --git a/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.cs b/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.cs
index 69a7ff296ee..3336d6912ef 100644
--- a/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.cs
+++ b/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.cs
@@ -28,13 +28,13 @@ public static string AlterIdentityColumn
=> GetString("AlterIdentityColumn");
///
- /// To set memory-optimized on a table on or off the table needs to be dropped and recreated.
+ /// To change the memory-optimized setting on a table, the table needs to be dropped and recreated.
///
public static string AlterMemoryOptimizedTable
=> GetString("AlterMemoryOptimizedTable");
///
- /// When generating migrations SQL for {operation}, can't produce unterminated SQL with comments.
+ /// Can't produce unterminated SQL with comments when generating migrations SQL for {operation}, .
///
public static string CannotProduceUnterminatedSQLWithComments([CanBeNull] object operation)
=> string.Format(
@@ -42,7 +42,7 @@ public static string CannotProduceUnterminatedSQLWithComments([CanBeNull] object
operation);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different identity increment.
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different identity increment values.
///
public static string DuplicateColumnIdentityIncrementMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table)
=> string.Format(
@@ -50,7 +50,7 @@ public static string DuplicateColumnIdentityIncrementMismatch([CanBeNull] object
entityType1, property1, entityType2, property2, columnName, table);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different identity seed.
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different identity seed values.
///
public static string DuplicateColumnIdentitySeedMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table)
=> string.Format(
@@ -58,7 +58,7 @@ public static string DuplicateColumnIdentitySeedMismatch([CanBeNull] object enti
entityType1, property1, entityType2, property2, columnName, table);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different value generation strategies.
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different value generation strategies.
///
public static string DuplicateColumnNameValueGenerationStrategyMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table)
=> string.Format(
@@ -66,7 +66,7 @@ public static string DuplicateColumnNameValueGenerationStrategyMismatch([CanBeNu
entityType1, property1, entityType2, property2, columnName, table);
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different hi-lo sequences.
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different hi-lo sequences.
///
public static string DuplicateColumnSequenceMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table)
=> string.Format(
@@ -74,7 +74,7 @@ public static string DuplicateColumnSequenceMismatch([CanBeNull] object entityTy
entityType1, property1, entityType2, property2, columnName, table);
///
- /// The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different clustered configuration.
+ /// The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different clustered configurations.
///
public static string DuplicateIndexClusteredMismatch([CanBeNull] object index1, [CanBeNull] object entityType1, [CanBeNull] object index2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object indexName)
=> string.Format(
@@ -82,7 +82,7 @@ public static string DuplicateIndexClusteredMismatch([CanBeNull] object index1,
index1, entityType1, index2, entityType2, table, indexName);
///
- /// The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different fill factor configuration.
+ /// The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different fill factor configurations.
///
public static string DuplicateIndexFillFactorMismatch([CanBeNull] object index1, [CanBeNull] object entityType1, [CanBeNull] object index2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object indexName)
=> string.Format(
@@ -90,7 +90,7 @@ public static string DuplicateIndexFillFactorMismatch([CanBeNull] object index1,
index1, entityType1, index2, entityType2, table, indexName);
///
- /// The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different included columns {includedColumns1} and {includedColumns2}.
+ /// The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different included columns: {includedColumns1} and {includedColumns2}.
///
public static string DuplicateIndexIncludedMismatch([CanBeNull] object index1, [CanBeNull] object entityType1, [CanBeNull] object index2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object indexName, [CanBeNull] object includedColumns1, [CanBeNull] object includedColumns2)
=> string.Format(
@@ -98,7 +98,7 @@ public static string DuplicateIndexIncludedMismatch([CanBeNull] object index1, [
index1, entityType1, index2, entityType2, table, indexName, includedColumns1, includedColumns2);
///
- /// The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different online configuration.
+ /// The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different online configurations.
///
public static string DuplicateIndexOnlineMismatch([CanBeNull] object index1, [CanBeNull] object entityType1, [CanBeNull] object index2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object indexName)
=> string.Format(
@@ -106,7 +106,7 @@ public static string DuplicateIndexOnlineMismatch([CanBeNull] object index1, [Ca
index1, entityType1, index2, entityType2, table, indexName);
///
- /// The keys {key1} on '{entityType1}' and {key2} on '{entityType2}' are both mapped to '{table}.{keyName}' but with different clustering.
+ /// The keys {key1} on '{entityType1}' and {key2} on '{entityType2}' are both mapped to '{table}.{keyName}', but with different clustering configurations.
///
public static string DuplicateKeyMismatchedClustering([CanBeNull] object key1, [CanBeNull] object entityType1, [CanBeNull] object key2, [CanBeNull] object entityType2, [CanBeNull] object table, [CanBeNull] object keyName)
=> string.Format(
@@ -122,7 +122,7 @@ public static string IdentityBadType([CanBeNull] object property, [CanBeNull] ob
property, entityType, propertyType);
///
- /// Include property '{entityType}.{property}' cannot be defined multiple times
+ /// Include property '{entityType}.{property}' cannot be defined multiple times.
///
public static string IncludePropertyDuplicated([CanBeNull] object entityType, [CanBeNull] object property)
=> string.Format(
@@ -130,7 +130,7 @@ public static string IncludePropertyDuplicated([CanBeNull] object entityType, [C
entityType, property);
///
- /// Include property '{entityType}.{property}' is already included in the index
+ /// Include property '{entityType}.{property}' is already included in the index.
///
public static string IncludePropertyInIndex([CanBeNull] object entityType, [CanBeNull] object property)
=> string.Format(
@@ -138,7 +138,7 @@ public static string IncludePropertyInIndex([CanBeNull] object entityType, [CanB
entityType, property);
///
- /// Include property '{entityType}.{property}' not found
+ /// Include property '{entityType}.{property}' not found.
///
public static string IncludePropertyNotFound([CanBeNull] object entityType, [CanBeNull] object property)
=> string.Format(
@@ -160,7 +160,7 @@ public static string IndexTableRequired
=> GetString("IndexTableRequired");
///
- /// The expression passed to the 'propertyReference' parameter of the 'FreeText' method is not a valid reference to a property. The expression should represent a reference to a full-text indexed property on the object referenced in the from clause: 'from e in context.Entities where EF.Functions.FreeText(e.SomeProperty, textToSearchFor) select e'
+ /// The expression passed to the 'propertyReference' parameter of the 'FreeText' method is not a valid reference to a property. The expression must represent a reference to a full-text indexed property on the object referenced in the from clause: 'from e in context.Entities where EF.Functions.FreeText(e.SomeProperty, textToSearchFor) select e'
///
public static string InvalidColumnNameForFreeText
=> GetString("InvalidColumnNameForFreeText");
@@ -174,7 +174,7 @@ public static string InvalidTableToIncludeInScaffolding([CanBeNull] object table
table);
///
- /// The properties {properties} are configured to use 'Identity' value generator and are mapped to the same table '{table}'. Only one column per table can be configured as 'Identity'. Call 'ValueGeneratedNever' for properties that should not use 'Identity'.
+ /// The properties {properties} are configured to use 'Identity' value generation and are mapped to the same table '{table}', but only one column per table can be configured as 'Identity'. Call 'ValueGeneratedNever' for properties that should not use 'Identity'.
///
public static string MultipleIdentityColumns([CanBeNull] object properties, [CanBeNull] object table)
=> string.Format(
@@ -182,13 +182,13 @@ public static string MultipleIdentityColumns([CanBeNull] object properties, [Can
properties, table);
///
- /// The database name could not be determined. To use EnsureDeleted, the connection string must specify Initial Catalog.
+ /// The database name could not be determined. To use 'EnsureDeleted', the connection string must specify 'Initial Catalog'.
///
public static string NoInitialCatalog
=> GetString("NoInitialCatalog");
///
- /// The property '{property}' on entity type '{entityType}' is configured to use 'SequenceHiLo' value generator, which is only intended for keys. If this was intentional configure an alternate key on the property, otherwise call 'ValueGeneratedNever' or configure store generation for this property.
+ /// The property '{property}' on entity type '{entityType}' is configured to use 'SequenceHiLo' value generator, which is only intended for keys. If this was intentional, configure an alternate key on the property, otherwise call 'ValueGeneratedNever' or configure store generation for this property.
///
public static string NonKeyValueGeneration([CanBeNull] object property, [CanBeNull] object entityType)
=> string.Format(
@@ -204,7 +204,7 @@ public static string SequenceBadType([CanBeNull] object property, [CanBeNull] ob
property, entityType, propertyType);
///
- /// An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseSqlServer' call.
+ /// An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure' to the 'UseSqlServer' call.
///
public static string TransientExceptionDetected
=> GetString("TransientExceptionDetected");
@@ -216,7 +216,7 @@ public static string UnknownOperatorTypeInSqlUnaryExpression
=> GetString("UnknownOperatorTypeInSqlUnaryExpression");
///
- /// Data type '{dataType}' is not supported in this form. Either specify the length explicitly in the type name, for example as '{dataType}(16)', or remove the data type and use APIs such as HasMaxLength to allow Entity Framework choose the data type.
+ /// Data type '{dataType}' is not supported in this form. Either specify the length explicitly in the type name (e.g. '{dataType}(16)'), or remove the data type and use APIs such as 'HasMaxLength' to allow Entity Framework choose the data type.
///
public static string UnqualifiedDataType([CanBeNull] object dataType)
=> string.Format(
@@ -224,7 +224,7 @@ public static string UnqualifiedDataType([CanBeNull] object dataType)
dataType);
///
- /// Data type '{dataType}' for property '{property}' is not supported in this form. Either specify the length explicitly in the type name, for example as '{dataType}(16)', or remove the data type and use APIs such as HasMaxLength to allow Entity Framework choose the data type.
+ /// Data type '{dataType}' for property '{property}' is not supported in this form. Either specify the length explicitly in the type name (e.g. '{dataType}(16)'), or remove the data type and use APIs such as 'HasMaxLength' to allow Entity Framework choose the data type.
///
public static string UnqualifiedDataTypeOnProperty([CanBeNull] object dataType, [CanBeNull] object property)
=> string.Format(
@@ -258,7 +258,7 @@ private static readonly ResourceManager _resourceManager
= new ResourceManager("Microsoft.EntityFrameworkCore.SqlServer.Properties.SqlServerStrings", typeof(SqlServerResources).Assembly);
///
- /// The property '{property}' on entity type '{entityType}' is of type 'byte', but is set up to use a SQL Server identity column. This requires that values starting at 255 and counting down will be used for temporary key values. A temporary key value is needed for every entity inserted in a single call to 'SaveChanges'. Care must be taken that these values do not collide with real key values.
+ /// The property '{property}' on entity type '{entityType}' is of type 'byte', but is set up to use a SQL Server identity column; this requires that values starting at 255 and counting down will be used for temporary key values. A temporary key value is needed for every entity inserted in a single call to 'SaveChanges'. Care must be taken that these values do not collide with real key values.
///
public static EventDefinition LogByteIdentityColumn([NotNull] IDiagnosticsLogger logger)
{
@@ -282,7 +282,7 @@ public static EventDefinition LogByteIdentityColumn([NotNull] ID
}
///
- /// Both the SqlServerValueGenerationStrategy '{generationStrategy}' and '{otherGenerationStrategy}' have been set on property '{propertyName}' on entity type '{entityName}'. Usually this is a mistake. Only use these at the same time if you are sure you understand the consequences.
+ /// Both the SqlServerValueGenerationStrategy '{generationStrategy}' and '{otherGenerationStrategy}' have been set on property '{propertyName}' on entity type '{entityName}'. Configuring two strategies is usually unintentional, only do this if you are sure you understand the consequences.
///
public static EventDefinition LogConflictingValueGenerationStrategies([NotNull] IDiagnosticsLogger logger)
{
@@ -306,7 +306,7 @@ public static EventDefinition LogConflictingValu
}
///
- /// The decimal property '{property}' is part of a key on entity type '{entityType}'. If the configured precision and scale don't match the column type in the database this will cause values to be silently truncated if they do not fit in the default precision and scale. Consider using a different property as the key or make sure that the database column type matches the model configuration and enable decimal rounding warnings using 'SET NUMERIC_ROUNDABORT ON'.
+ /// The decimal property '{property}' is part of a key on entity type '{entityType}'. If the configured precision and scale don't match the column type in the database, this will cause values to be silently truncated if they do not fit in the default precision and scale. Consider using a different property as the key, or make sure that the database column type matches the model configuration and enable decimal rounding warnings using 'SET NUMERIC_ROUNDABORT ON'.
///
public static EventDefinition LogDecimalTypeKey([NotNull] IDiagnosticsLogger logger)
{
@@ -330,7 +330,7 @@ public static EventDefinition LogDecimalTypeKey([NotNull] IDiagn
}
///
- /// No type was specified for the decimal property '{property}' on entity type '{entityType}'. This will cause values to be silently truncated if they do not fit in the default precision and scale. Explicitly specify the SQL server column type that can accommodate all the values in 'OnModelCreating' using 'HasColumnType()', specify precision and scale using 'HasPrecision()' or configure a value converter using 'HasConversion()'.
+ /// No type was specified for the decimal property '{property}' on entity type '{entityType}'. This will cause values to be silently truncated if they do not fit in the default precision and scale. Explicitly specify the SQL server column type that can accommodate all the values in 'OnModelCreating' using 'HasColumnType', specify precision and scale using 'HasPrecision', or configure a value converter using 'HasConversion'.
///
public static EventDefinition LogDefaultDecimalTypeColumn([NotNull] IDiagnosticsLogger logger)
{
@@ -399,7 +399,7 @@ public static EventDefinition LogFoundDefaultSchema([NotNull] IDiagnosti
}
///
- /// Found foreign key on table: {tableName}, name: {foreignKeyName}, principal table: {principalTableName}, delete action: {deleteAction}.
+ /// Found foreign key on table '{tableName}' with name '{foreignKeyName}', principal table '{principalTableName}', delete action {deleteAction}.
///
public static EventDefinition LogFoundForeignKey([NotNull] IDiagnosticsLogger logger)
{
@@ -423,7 +423,7 @@ public static EventDefinition LogFoundForeignKey
}
///
- /// Found index with name: {indexName}, table: {tableName}, is unique: {isUnique}.
+ /// Found index on table '{tableName}' with name '{indexName}', is unique: {isUnique}.
///
public static EventDefinition LogFoundIndex([NotNull] IDiagnosticsLogger logger)
{
@@ -447,7 +447,7 @@ public static EventDefinition LogFoundIndex([NotNull] IDia
}
///
- /// Found primary key with name: {primaryKeyName}, table: {tableName}.
+ /// Found primary key on table '{tableName}' with name '{primaryKeyName}'.
///
public static EventDefinition LogFoundPrimaryKey([NotNull] IDiagnosticsLogger logger)
{
@@ -471,7 +471,7 @@ public static EventDefinition LogFoundPrimaryKey([NotNull] IDiag
}
///
- /// Found sequence name: {name}, data type: {dataType}, cyclic: {isCyclic}, increment: {increment}, start: {start}, minimum: {min}, maximum: {max}.
+ /// Found sequence name with '{name}', data type: {dataType}, cyclic: {isCyclic}, increment: {increment}, start: {start}, minimum: {min}, maximum: {max}.
///
public static FallbackEventDefinition LogFoundSequence([NotNull] IDiagnosticsLogger logger)
{
@@ -492,7 +492,7 @@ public static FallbackEventDefinition LogFoundSequence([NotNull] IDiagnosticsLog
}
///
- /// Found table with name: {name}.
+ /// Found table with name '{name}'.
///
public static EventDefinition LogFoundTable([NotNull] IDiagnosticsLogger logger)
{
@@ -516,7 +516,7 @@ public static EventDefinition LogFoundTable([NotNull] IDiagnosticsLogger
}
///
- /// Found type alias with name: {alias} which maps to underlying data type {dataType}.
+ /// Found type alias with name '{alias}' which maps to underlying data type {dataType}.
///
public static EventDefinition LogFoundTypeAlias([NotNull] IDiagnosticsLogger logger)
{
@@ -540,7 +540,7 @@ public static EventDefinition LogFoundTypeAlias([NotNull] IDiagn
}
///
- /// Found unique constraint with name: {uniqueConstraintName}, table: {tableName}.
+ /// Found unique constraint on table '{tableName}' with name '{uniqueConstraintName}'.
///
public static EventDefinition LogFoundUniqueConstraint([NotNull] IDiagnosticsLogger logger)
{
@@ -612,7 +612,7 @@ public static EventDefinition LogMissingTable([NotNull] IDiagnosticsLogg
}
///
- /// For foreign key '{foreignKeyName}' on table '{tableName}', unable to find the column called '{principalColumnName}' on the foreign key's principal table, '{principalTableName}'. Skipping foreign key.
+ /// For foreign key '{foreignKeyName}' on table '{tableName}', unable to find a column called '{principalColumnName}' on the foreign key's principal table '{principalTableName}'. Skipping the foreign key.
///
public static EventDefinition LogPrincipalColumnNotFound([NotNull] IDiagnosticsLogger logger)
{
diff --git a/src/EFCore.SqlServer/Properties/SqlServerStrings.resx b/src/EFCore.SqlServer/Properties/SqlServerStrings.resx
index bd715339008..234ad7b0ec8 100644
--- a/src/EFCore.SqlServer/Properties/SqlServerStrings.resx
+++ b/src/EFCore.SqlServer/Properties/SqlServerStrings.resx
@@ -121,49 +121,49 @@
To change the IDENTITY property of a column, the column needs to be dropped and recreated.
- To set memory-optimized on a table on or off the table needs to be dropped and recreated.
+ To change the memory-optimized setting on a table, the table needs to be dropped and recreated.
- When generating migrations SQL for {operation}, can't produce unterminated SQL with comments.
+ Can't produce unterminated SQL with comments when generating migrations SQL for {operation}, .
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different identity increment.
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different identity increment values.
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different identity seed.
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different identity seed values.
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different value generation strategies.
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different value generation strategies.
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different hi-lo sequences.
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different hi-lo sequences.
- The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different clustered configuration.
+ The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different clustered configurations.
- The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different fill factor configuration.
+ The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different fill factor configurations.
- The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different included columns {includedColumns1} and {includedColumns2}.
+ The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different included columns: {includedColumns1} and {includedColumns2}.
- The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}' but with different online configuration.
+ The indexes {index1} on '{entityType1}' and {index2} on '{entityType2}' are both mapped to '{table}.{indexName}', but with different online configurations.
- The keys {key1} on '{entityType1}' and {key2} on '{entityType2}' are both mapped to '{table}.{keyName}' but with different clustering.
+ The keys {key1} on '{entityType1}' and {key2} on '{entityType2}' are both mapped to '{table}.{keyName}', but with different clustering configurations.
Identity value generation cannot be used for the property '{property}' on entity type '{entityType}' because the property type is '{propertyType}'. Identity value generation can only be used with signed integer properties.
- Include property '{entityType}.{property}' cannot be defined multiple times
+ Include property '{entityType}.{property}' cannot be defined multiple times.
- Include property '{entityType}.{property}' is already included in the index
+ Include property '{entityType}.{property}' is already included in the index.
- Include property '{entityType}.{property}' not found
+ Include property '{entityType}.{property}' not found.
Cannot use table '{table}' for entity type '{entityType}' since it is being used for entity type '{otherEntityType}' and entity type '{memoryOptimizedEntityType}' is marked as memory-optimized, but entity type '{nonMemoryOptimizedEntityType}' is not.
@@ -172,25 +172,25 @@
SQL Server requires the table name to be specified for rename index operations. Specify table name in the call to 'MigrationBuilder.RenameIndex'.
- The expression passed to the 'propertyReference' parameter of the 'FreeText' method is not a valid reference to a property. The expression should represent a reference to a full-text indexed property on the object referenced in the from clause: 'from e in context.Entities where EF.Functions.FreeText(e.SomeProperty, textToSearchFor) select e'
+ The expression passed to the 'propertyReference' parameter of the 'FreeText' method is not a valid reference to a property. The expression must represent a reference to a full-text indexed property on the object referenced in the from clause: 'from e in context.Entities where EF.Functions.FreeText(e.SomeProperty, textToSearchFor) select e'
The specified table '{table}' is not valid. Specify tables using the format '[schema].[table]'.
- The property '{property}' on entity type '{entityType}' is of type 'byte', but is set up to use a SQL Server identity column. This requires that values starting at 255 and counting down will be used for temporary key values. A temporary key value is needed for every entity inserted in a single call to 'SaveChanges'. Care must be taken that these values do not collide with real key values.
+ The property '{property}' on entity type '{entityType}' is of type 'byte', but is set up to use a SQL Server identity column; this requires that values starting at 255 and counting down will be used for temporary key values. A temporary key value is needed for every entity inserted in a single call to 'SaveChanges'. Care must be taken that these values do not collide with real key values.
Warning SqlServerEventId.ByteIdentityColumnWarning string string
- Both the SqlServerValueGenerationStrategy '{generationStrategy}' and '{otherGenerationStrategy}' have been set on property '{propertyName}' on entity type '{entityName}'. Usually this is a mistake. Only use these at the same time if you are sure you understand the consequences.
+ Both the SqlServerValueGenerationStrategy '{generationStrategy}' and '{otherGenerationStrategy}' have been set on property '{propertyName}' on entity type '{entityName}'. Configuring two strategies is usually unintentional, only do this if you are sure you understand the consequences.
Warning SqlServerEventId.ConflictingValueGenerationStrategiesWarning string string string string
- The decimal property '{property}' is part of a key on entity type '{entityType}'. If the configured precision and scale don't match the column type in the database this will cause values to be silently truncated if they do not fit in the default precision and scale. Consider using a different property as the key or make sure that the database column type matches the model configuration and enable decimal rounding warnings using 'SET NUMERIC_ROUNDABORT ON'.
+ The decimal property '{property}' is part of a key on entity type '{entityType}'. If the configured precision and scale don't match the column type in the database, this will cause values to be silently truncated if they do not fit in the default precision and scale. Consider using a different property as the key, or make sure that the database column type matches the model configuration and enable decimal rounding warnings using 'SET NUMERIC_ROUNDABORT ON'.
Warning SqlServerEventId.DecimalTypeKeyWarning string string
- No type was specified for the decimal property '{property}' on entity type '{entityType}'. This will cause values to be silently truncated if they do not fit in the default precision and scale. Explicitly specify the SQL server column type that can accommodate all the values in 'OnModelCreating' using 'HasColumnType()', specify precision and scale using 'HasPrecision()' or configure a value converter using 'HasConversion()'.
+ No type was specified for the decimal property '{property}' on entity type '{entityType}'. This will cause values to be silently truncated if they do not fit in the default precision and scale. Explicitly specify the SQL server column type that can accommodate all the values in 'OnModelCreating' using 'HasColumnType', specify precision and scale using 'HasPrecision', or configure a value converter using 'HasConversion'.
Warning SqlServerEventId.DecimalTypeDefaultWarning string string
@@ -202,31 +202,31 @@
Debug SqlServerEventId.DefaultSchemaFound string
- Found foreign key on table: {tableName}, name: {foreignKeyName}, principal table: {principalTableName}, delete action: {deleteAction}.
+ Found foreign key on table '{tableName}' with name '{foreignKeyName}', principal table '{principalTableName}', delete action {deleteAction}.
Debug SqlServerEventId.ForeignKeyFound string string string string
- Found index with name: {indexName}, table: {tableName}, is unique: {isUnique}.
+ Found index on table '{tableName}' with name '{indexName}', is unique: {isUnique}.
Debug SqlServerEventId.IndexFound string string bool
- Found primary key with name: {primaryKeyName}, table: {tableName}.
+ Found primary key on table '{tableName}' with name '{primaryKeyName}'.
Debug SqlServerEventId.PrimaryKeyFound string string
- Found sequence name: {name}, data type: {dataType}, cyclic: {isCyclic}, increment: {increment}, start: {start}, minimum: {min}, maximum: {max}.
+ Found sequence name with '{name}', data type: {dataType}, cyclic: {isCyclic}, increment: {increment}, start: {start}, minimum: {min}, maximum: {max}.
Debug SqlServerEventId.SequenceFound string string bool int long long long
- Found table with name: {name}.
+ Found table with name '{name}'.
Debug SqlServerEventId.TableFound string
- Found type alias with name: {alias} which maps to underlying data type {dataType}.
+ Found type alias with name '{alias}' which maps to underlying data type {dataType}.
Debug SqlServerEventId.TypeAliasFound string string
- Found unique constraint with name: {uniqueConstraintName}, table: {tableName}.
+ Found unique constraint on table '{tableName}' with name '{uniqueConstraintName}'.
Debug SqlServerEventId.UniqueConstraintFound string string
@@ -238,7 +238,7 @@
Warning SqlServerEventId.MissingTableWarning string
- For foreign key '{foreignKeyName}' on table '{tableName}', unable to find the column called '{principalColumnName}' on the foreign key's principal table, '{principalTableName}'. Skipping foreign key.
+ For foreign key '{foreignKeyName}' on table '{tableName}', unable to find a column called '{principalColumnName}' on the foreign key's principal table '{principalTableName}'. Skipping the foreign key.
Warning SqlServerEventId.ForeignKeyPrincipalColumnMissingWarning string string string string
@@ -250,27 +250,27 @@
Debug SqlServerEventId.ReflexiveConstraintIgnored string string
- The properties {properties} are configured to use 'Identity' value generator and are mapped to the same table '{table}'. Only one column per table can be configured as 'Identity'. Call 'ValueGeneratedNever' for properties that should not use 'Identity'.
+ The properties {properties} are configured to use 'Identity' value generation and are mapped to the same table '{table}', but only one column per table can be configured as 'Identity'. Call 'ValueGeneratedNever' for properties that should not use 'Identity'.
- The database name could not be determined. To use EnsureDeleted, the connection string must specify Initial Catalog.
+ The database name could not be determined. To use 'EnsureDeleted', the connection string must specify 'Initial Catalog'.
- The property '{property}' on entity type '{entityType}' is configured to use 'SequenceHiLo' value generator, which is only intended for keys. If this was intentional configure an alternate key on the property, otherwise call 'ValueGeneratedNever' or configure store generation for this property.
+ The property '{property}' on entity type '{entityType}' is configured to use 'SequenceHiLo' value generator, which is only intended for keys. If this was intentional, configure an alternate key on the property, otherwise call 'ValueGeneratedNever' or configure store generation for this property.
SQL Server sequences cannot be used to generate values for the property '{property}' on entity type '{entityType}' because the property type is '{propertyType}'. Sequences can only be used with integer properties.
- An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseSqlServer' call.
+ An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure' to the 'UseSqlServer' call.
Unknown operator type encountered in SqlUnaryExpression.
- Data type '{dataType}' is not supported in this form. Either specify the length explicitly in the type name, for example as '{dataType}(16)', or remove the data type and use APIs such as HasMaxLength to allow Entity Framework choose the data type.
+ Data type '{dataType}' is not supported in this form. Either specify the length explicitly in the type name (e.g. '{dataType}(16)'), or remove the data type and use APIs such as 'HasMaxLength' to allow Entity Framework choose the data type.
- Data type '{dataType}' for property '{property}' is not supported in this form. Either specify the length explicitly in the type name, for example as '{dataType}(16)', or remove the data type and use APIs such as HasMaxLength to allow Entity Framework choose the data type.
+ Data type '{dataType}' for property '{property}' is not supported in this form. Either specify the length explicitly in the type name (e.g. '{dataType}(16)'), or remove the data type and use APIs such as 'HasMaxLength' to allow Entity Framework choose the data type.
\ No newline at end of file
diff --git a/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.cs b/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.cs
index a86c372e11a..1d09e2e02fc 100644
--- a/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.cs
+++ b/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.cs
@@ -22,7 +22,7 @@ private static readonly ResourceManager _resourceManager
= new ResourceManager("Microsoft.EntityFrameworkCore.Sqlite.Properties.SqliteStrings", typeof(SqliteStrings).Assembly);
///
- /// SQLite cannot apply aggregate operator '{aggregateOperator}' on expression of type '{type}'. Convert the values to a supported type or use LINQ to Objects to aggregate the results.
+ /// SQLite cannot apply aggregate operator '{aggregateOperator}' on expressions of type '{type}'. Convert the values to a supported type, or use LINQ to Objects to aggregate the results on the client side.
///
public static string AggregateOperationNotSupported([CanBeNull] object aggregateOperator, [CanBeNull] object type)
=> string.Format(
@@ -30,13 +30,13 @@ public static string AggregateOperationNotSupported([CanBeNull] object aggregate
aggregateOperator, type);
///
- /// Translating this query requires APPLY operation which is not supported on SQLite.
+ /// Translating this query requires using the APPLY SQL operation, which is not supported on SQLite.
///
public static string ApplyNotSupported
=> GetString("ApplyNotSupported");
///
- /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different SRIDs.
+ /// '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different SRIDs.
///
public static string DuplicateColumnNameSridMismatch([CanBeNull] object entityType1, [CanBeNull] object property1, [CanBeNull] object entityType2, [CanBeNull] object property2, [CanBeNull] object columnName, [CanBeNull] object table)
=> string.Format(
@@ -52,13 +52,13 @@ public static string InvalidMigrationOperation([CanBeNull] object operation)
operation);
///
- /// Generating idempotent scripts for migration is not currently supported by SQLite. For more information, see http://go.microsoft.com/fwlink/?LinkId=723262.
+ /// Generating idempotent scripts for migrations is not currently supported for SQLite. For more information, see http://go.microsoft.com/fwlink/?LinkId=723262.
///
public static string MigrationScriptGenerationNotSupported
=> GetString("MigrationScriptGenerationNotSupported");
///
- /// SQLite cannot order by expressions of type '{type}'. Convert the values to a supported type or use LINQ to Objects to order the results.
+ /// SQLite does not support expressions of type '{type}' in ORDER BY clauses. Convert the values to a supported type, or use LINQ to Objects to order the results on the client side.
///
public static string OrderByNotSupported([CanBeNull] object type)
=> string.Format(
@@ -98,7 +98,7 @@ private static readonly ResourceManager _resourceManager
= new ResourceManager("Microsoft.EntityFrameworkCore.Sqlite.Properties.SqliteStrings", typeof(SqliteResources).Assembly);
///
- /// Could not scaffold the foreign key '{foreignKeyName}'. The referenced table could not be found. This most likely occurred because the referenced table was excluded from scaffolding.
+ /// Could not scaffold the foreign key '{foreignKeyName}', because the referenced table could not be found. This most likely occurred because the referenced table was excluded from scaffolding.
///
public static EventDefinition LogForeignKeyScaffoldErrorPrincipalTableNotFound([NotNull] IDiagnosticsLogger logger)
{
@@ -122,7 +122,7 @@ public static EventDefinition LogForeignKeyScaffoldErrorPrincipalTableNo
}
///
- /// Found column on table: {tableName}, column name: {columnName}, data type: {dataType}, not nullable: {isNotNullable}, default value: {defaultValue}.
+ /// Found column on table '{tableName}' with name: '{columnName}', data type: {dataType}, not nullable: {isNotNullable}, default value: {defaultValue}.
///
public static EventDefinition LogFoundColumn([NotNull] IDiagnosticsLogger logger)
{
@@ -146,7 +146,7 @@ public static EventDefinition LogFoundColu
}
///
- /// Found foreign key on table: {tableName}, id: {id}, principal table: {principalTableName}, delete action: {deleteAction}.
+ /// Found foreign key on table '{tableName}', id: {id}, principal table: {principalTableName}, delete action: {deleteAction}.
///
public static EventDefinition LogFoundForeignKey([NotNull] IDiagnosticsLogger logger)
{
@@ -170,7 +170,7 @@ public static EventDefinition LogFoundForeignKey([
}
///
- /// Found index with name: {indexName}, table: {tableName}, is unique: {isUnique}.
+ /// Found index on table '{tableName}' with name {indexName}, is unique: {isUnique}.
///
public static EventDefinition LogFoundIndex([NotNull] IDiagnosticsLogger logger)
{
@@ -194,7 +194,7 @@ public static EventDefinition LogFoundForeignKey([
}
///
- /// Found primary key with name: {primaryKeyName}, table: {tableName}.
+ /// Found primary key on table '{tableName}' with name {primaryKeyName}.
///
public static EventDefinition LogFoundPrimaryKey([NotNull] IDiagnosticsLogger logger)
{
@@ -218,7 +218,7 @@ public static EventDefinition LogFoundPrimaryKey([NotNull] IDiag
}
///
- /// Found table with name: {name}.
+ /// Found table with name: '{name}'.
///
public static EventDefinition LogFoundTable([NotNull] IDiagnosticsLogger logger)
{
@@ -242,7 +242,7 @@ public static EventDefinition LogFoundTable([NotNull] IDiagnosticsLogger
}
///
- /// Found unique constraint with name: {uniqueConstraintName}, table: {tableName}.
+ /// Found unique constraint on table '{tableName}' with name: {uniqueConstraintName}.
///
public static EventDefinition LogFoundUniqueConstraint([NotNull] IDiagnosticsLogger logger)
{
@@ -266,7 +266,7 @@ public static EventDefinition LogFoundUniqueConstraint([NotNull]
}
///
- /// Unable to find a table in the database matching the selected table {table}.
+ /// Unable to find a table in the database matching the selected table '{table}'.
///
public static EventDefinition LogMissingTable([NotNull] IDiagnosticsLogger logger)
{
@@ -290,7 +290,7 @@ public static EventDefinition LogMissingTable([NotNull] IDiagnosticsLogg
}
///
- /// For foreign key with identity '{id}' on table '{tableName}', unable to find the column called '{principalColumnName}' on the foreign key's principal table, '{principaltableName}'. Skipping foreign key.
+ /// For the foreign key with identity '{id}' on table '{tableName}', unable to find a column called '{principalColumnName}' on the foreign key's principal table '{principaltableName}'. Skipping foreign key.
///
public static EventDefinition LogPrincipalColumnNotFound([NotNull] IDiagnosticsLogger logger)
{
@@ -314,7 +314,7 @@ public static EventDefinition LogPrincipalColumn
}
///
- /// The entity type '{entityType}' is configured to use schema '{schema}'. SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
+ /// The entity type '{entityType}' is configured to use schema '{schema}', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
///
public static EventDefinition LogSchemaConfigured([NotNull] IDiagnosticsLogger logger)
{
@@ -362,7 +362,7 @@ public static EventDefinition LogSequenceConfigured([NotNull] IDiagnosti
}
///
- /// Warning, an operation of type '{operationType}' will be attempted while a rebuild of table '{tableName}' is pending. The database may not be in an expected state. Review the SQL generated by this migration to help diagnose any failures. Consider moving these operations to a subsequent migration.
+ /// An operation of type '{operationType}' will be attempted while a rebuild of table '{tableName}' is pending. The database may not be in an expected state. Review the SQL generated by this migration to help diagnose any failures. Consider moving these operations to a subsequent migration.
///
public static EventDefinition LogTableRebuildPendingWarning([NotNull] IDiagnosticsLogger logger)
{
diff --git a/src/EFCore.Sqlite.Core/Properties/SqliteStrings.resx b/src/EFCore.Sqlite.Core/Properties/SqliteStrings.resx
index 08bfddf59f3..084d96cdd09 100644
--- a/src/EFCore.Sqlite.Core/Properties/SqliteStrings.resx
+++ b/src/EFCore.Sqlite.Core/Properties/SqliteStrings.resx
@@ -118,55 +118,55 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- SQLite cannot apply aggregate operator '{aggregateOperator}' on expression of type '{type}'. Convert the values to a supported type or use LINQ to Objects to aggregate the results.
+ SQLite cannot apply aggregate operator '{aggregateOperator}' on expressions of type '{type}'. Convert the values to a supported type, or use LINQ to Objects to aggregate the results on the client side.
- Translating this query requires APPLY operation which is not supported on SQLite.
+ Translating this query requires using the APPLY SQL operation, which is not supported on SQLite.
- '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}' but are configured with different SRIDs.
+ '{entityType1}.{property1}' and '{entityType2}.{property2}' are both mapped to column '{columnName}' in '{table}', but are configured with different SRIDs.
SQLite does not support this migration operation ('{operation}'). For more information, see http://go.microsoft.com/fwlink/?LinkId=723262.
- Could not scaffold the foreign key '{foreignKeyName}'. The referenced table could not be found. This most likely occurred because the referenced table was excluded from scaffolding.
+ Could not scaffold the foreign key '{foreignKeyName}', because the referenced table could not be found. This most likely occurred because the referenced table was excluded from scaffolding.
Warning SqliteEventId.ForeignKeyReferencesMissingTableWarning string
- Found column on table: {tableName}, column name: {columnName}, data type: {dataType}, not nullable: {isNotNullable}, default value: {defaultValue}.
+ Found column on table '{tableName}' with name: '{columnName}', data type: {dataType}, not nullable: {isNotNullable}, default value: {defaultValue}.
Debug SqliteEventId.ColumnFound string string string bool string
- Found foreign key on table: {tableName}, id: {id}, principal table: {principalTableName}, delete action: {deleteAction}.
+ Found foreign key on table '{tableName}', id: {id}, principal table: {principalTableName}, delete action: {deleteAction}.
Debug SqliteEventId.ForeignKeyFound string long string string
- Found index with name: {indexName}, table: {tableName}, is unique: {isUnique}.
+ Found index on table '{tableName}' with name {indexName}, is unique: {isUnique}.
Debug SqliteEventId.IndexFound string string bool?
- Found primary key with name: {primaryKeyName}, table: {tableName}.
+ Found primary key on table '{tableName}' with name {primaryKeyName}.
Debug SqliteEventId.PrimaryKeyFound string string
- Found table with name: {name}.
+ Found table with name: '{name}'.
Debug SqliteEventId.TableFound string
- Found unique constraint with name: {uniqueConstraintName}, table: {tableName}.
+ Found unique constraint on table '{tableName}' with name: {uniqueConstraintName}.
Debug SqliteEventId.UniqueConstraintFound string string
- Unable to find a table in the database matching the selected table {table}.
+ Unable to find a table in the database matching the selected table '{table}'.
Warning SqliteEventId.MissingTableWarning string
- For foreign key with identity '{id}' on table '{tableName}', unable to find the column called '{principalColumnName}' on the foreign key's principal table, '{principaltableName}'. Skipping foreign key.
+ For the foreign key with identity '{id}' on table '{tableName}', unable to find a column called '{principalColumnName}' on the foreign key's principal table '{principaltableName}'. Skipping foreign key.
Warning SqliteEventId.ForeignKeyPrincipalColumnMissingWarning string string string string
- The entity type '{entityType}' is configured to use schema '{schema}'. SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
+ The entity type '{entityType}' is configured to use schema '{schema}', but SQLite does not support schemas. This configuration will be ignored by the SQLite provider.
Warning SqliteEventId.SchemaConfiguredWarning string string
@@ -174,7 +174,7 @@
Warning SqliteEventId.SequenceConfiguredWarning string
- Warning, an operation of type '{operationType}' will be attempted while a rebuild of table '{tableName}' is pending. The database may not be in an expected state. Review the SQL generated by this migration to help diagnose any failures. Consider moving these operations to a subsequent migration.
+ An operation of type '{operationType}' will be attempted while a rebuild of table '{tableName}' is pending. The database may not be in an expected state. Review the SQL generated by this migration to help diagnose any failures. Consider moving these operations to a subsequent migration.
Warning SqliteEventId.TableRebuildPendingWarning string string
@@ -186,10 +186,10 @@
Warning SqliteEventId.SchemasNotSupportedWarning
- Generating idempotent scripts for migration is not currently supported by SQLite. For more information, see http://go.microsoft.com/fwlink/?LinkId=723262.
+ Generating idempotent scripts for migrations is not currently supported for SQLite. For more information, see http://go.microsoft.com/fwlink/?LinkId=723262.
- SQLite cannot order by expressions of type '{type}'. Convert the values to a supported type or use LINQ to Objects to order the results.
+ SQLite does not support expressions of type '{type}' in ORDER BY clauses. Convert the values to a supported type, or use LINQ to Objects to order the results on the client side.
SQLite does not support sequences. For more information, see http://go.microsoft.com/fwlink/?LinkId=723262.
diff --git a/src/EFCore/Properties/CoreStrings.Designer.cs b/src/EFCore/Properties/CoreStrings.Designer.cs
index 7430f889679..015d422edbe 100644
--- a/src/EFCore/Properties/CoreStrings.Designer.cs
+++ b/src/EFCore/Properties/CoreStrings.Designer.cs
@@ -179,6 +179,7 @@ public static string BadValueGeneratorType([CanBeNull] object givenType, [CanBeN
///
/// The current database provider has not implemented the 'CanConnect' method.
///
+ [Obsolete]
public static string CanConnectNotImplemented
=> GetString("CanConnectNotImplemented");
@@ -301,7 +302,7 @@ public static string ClashingNonOwnedEntityType([CanBeNull] object entityType)
entityType);
///
- /// The shared type entity type '{entityType}' with CLR type '{type}' cannot be added to the model because a non-shared entity type with the same CLR type already exists.
+ /// The shared-type entity type '{entityType}' with CLR type '{type}' cannot be added to the model because a non-shared entity type with the same CLR type already exists.
///
public static string ClashingNonSharedType([CanBeNull] object entityType, [CanBeNull] object type)
=> string.Format(
@@ -405,7 +406,7 @@ public static string CompositePKWithDataAnnotation([CanBeNull] object entityType
entityType);
///
- /// A second operation was started on this context before a previous operation completed. This is usually caused by different threads concurrently using the same instance of DbContext. For more information on how to avoid threading issues with DbContext, see https://go.microsoft.com/fwlink/?linkid=2097913.
+ /// A second operation was started on this context instance before a previous operation completed. This is usually caused by different threads concurrently using the same instance of DbContext. For more information on how to avoid threading issues with DbContext, see https://go.microsoft.com/fwlink/?linkid=2097913.
///
public static string ConcurrentMethodInvocation
=> GetString("ConcurrentMethodInvocation");
@@ -675,7 +676,7 @@ public static string DuplicateNamedIndex([CanBeNull] object indexName, [CanBeNul
indexName, indexProperties, entityType, duplicateEntityType);
///
- /// The type '{entityType}' cannot have base type '{baseType}' because the properties '{derivedPropertyType}.{derivedProperty}' and '{basePropertyType}.{baseProperty}' are conflicting.
+ /// The type '{entityType}' cannot have base type '{baseType}' because the properties '{derivedPropertyType}.{derivedProperty}' and '{basePropertyType}.{baseProperty}' are in conflict.
///
public static string DuplicatePropertiesOnBase([CanBeNull] object entityType, [CanBeNull] object baseType, [CanBeNull] object derivedPropertyType, [CanBeNull] object derivedProperty, [CanBeNull] object basePropertyType, [CanBeNull] object baseProperty)
=> string.Format(
@@ -927,7 +928,7 @@ public static string ForeignKeyReferencedEntityKeyMismatch([CanBeNull] object pr
principalKey, principalEntityType);
///
- /// The foreign keys on entity type '{dependentType}' cannot target the same entity type because it is a weak entity type.
+ /// The foreign keys on entity type '{dependentType}' cannot target the same entity type because it has a defining navigation.
///
public static string ForeignKeySelfReferencingDependentEntityType([CanBeNull] object dependentType)
=> string.Format(
@@ -1246,7 +1247,7 @@ public static string InvalidSetKeylessOperation([CanBeNull] object entityType)
entityType);
///
- /// Cannot create a DbSet for '{typeName}' because it is configured as an shared type entity type. Access the entity type via the `Set` method overload that accepts an entity type name.
+ /// Cannot create a DbSet for '{typeName}' because it is configured as an shared-type entity type. Access the entity type via the `Set` method overload that accepts an entity type name.
///
public static string InvalidSetSharedType([CanBeNull] object typeName)
=> string.Format(
@@ -1750,7 +1751,7 @@ public static string NonComparableKeyTypes([CanBeNull] object entityType, [CanBe
entityType, property, modelType, providerType);
///
- /// The navigation '{1_entityType}.{0_navigation}' must be configured in 'OnModelCreating' with an explicit name for the target shared type entity type, or excluded by calling 'EntityTypeBuilder.Ignore'.
+ /// The navigation '{1_entityType}.{0_navigation}' must be configured in 'OnModelCreating' with an explicit name for the target shared-type entity type, or excluded by calling 'EntityTypeBuilder.Ignore'.
///
public static string NonConfiguredNavigationToSharedType([CanBeNull] object navigation, [CanBeNull] object entityType)
=> string.Format(
@@ -2184,7 +2185,7 @@ public static string QueryUnableToTranslateStringEqualsWithStringComparison
=> GetString("QueryUnableToTranslateStringEqualsWithStringComparison");
///
- /// An attempt was made to use the context while it is being configured. A DbContext instance cannot be used inside 'OnConfiguring' since it is still being configured at this point. This can happen if a second operation is started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.
+ /// An attempt was made to use the context instance while it is being configured. A DbContext instance cannot be used inside 'OnConfiguring' since it is still being configured at this point. This can happen if a second operation is started on this context instance before a previous operation completed. Any instance members are not guaranteed to be thread safe.
///
public static string RecursiveOnConfiguring
=> GetString("RecursiveOnConfiguring");
@@ -2414,7 +2415,7 @@ public static string ShadowEntity([CanBeNull] object entityType)
entityType);
///
- /// The shared type entity type '{entityType}' cannot have a base type.
+ /// The shared-type entity type '{entityType}' cannot have a base type.
///
public static string SharedTypeDerivedType([CanBeNull] object entityType)
=> string.Format(
@@ -2692,7 +2693,7 @@ public static string WarningAsErrorTemplate([CanBeNull] object eventName, [CanBe
eventName, message, eventId);
///
- /// The type '{entityType}' cannot have weak entity type '{baseType}' as the base type.
+ /// The type '{entityType}' cannot have entity type '{baseType}' as the base type because the latter has a defining navigation.
///
public static string WeakBaseType([CanBeNull] object entityType, [CanBeNull] object baseType)
=> string.Format(
@@ -2700,7 +2701,7 @@ public static string WeakBaseType([CanBeNull] object entityType, [CanBeNull] obj
entityType, baseType);
///
- /// The weak entity type '{entityType}' cannot have a base type.
+ /// The entity type '{entityType}' cannot have a base type because it has a defining navigation.
///
public static string WeakDerivedType([CanBeNull] object entityType)
=> string.Format(
@@ -3134,7 +3135,7 @@ public static EventDefinition LogDetectChangesStarting([NotNull] IDiagno
}
///
- /// The same entity is being tracked as different weak entity types '{dependent1}' and '{dependent2}'. If a property value changes, it will result in two store changes, which might not be the desired outcome.
+ /// The same entity is being tracked as different entity types '{dependent1}' and '{dependent2}' with defining navigations. If a property value changes, it will result in two store changes, which might not be the desired outcome.
///
public static EventDefinition LogDuplicateDependentEntityTypeInstance([NotNull] IDiagnosticsLogger logger)
{
diff --git a/src/EFCore/Properties/CoreStrings.resx b/src/EFCore/Properties/CoreStrings.resx
index 9d3c27e5abc..e62b0af670f 100644
--- a/src/EFCore/Properties/CoreStrings.resx
+++ b/src/EFCore/Properties/CoreStrings.resx
@@ -176,6 +176,7 @@
The current database provider has not implemented the 'CanConnect' method.
+ Obsolete
The property '{1_entityType}.{0_property}' cannot be marked as nullable/optional because the type of the property is '{propertyType}' which is not a nullable type. Any property can be marked as non-nullable/required, but only properties of nullable types can be marked as nullable/optional.
@@ -223,7 +224,7 @@
The type '{entityType}' cannot be marked as owned because a non-owned entity type with the same name already exists.
- The shared type entity type '{entityType}' with CLR type '{type}' cannot be added to the model because a non-shared entity type with the same CLR type already exists.
+ The shared-type entity type '{entityType}' with CLR type '{type}' cannot be added to the model because a non-shared entity type with the same CLR type already exists.
The entity type '{entityType}' with a defining navigation cannot be added to the model because an entity type with the same name already exists.
@@ -262,7 +263,7 @@
The entity type '{entityType}' has multiple properties with the [Key] attribute. Composite primary keys can only be set using 'HasKey' in 'OnModelCreating'.
- A second operation was started on this context before a previous operation completed. This is usually caused by different threads concurrently using the same instance of DbContext. For more information on how to avoid threading issues with DbContext, see https://go.microsoft.com/fwlink/?linkid=2097913.
+ A second operation was started on this context instance before a previous operation completed. This is usually caused by different threads concurrently using the same instance of DbContext. For more information on how to avoid threading issues with DbContext, see https://go.microsoft.com/fwlink/?linkid=2097913.
Property '{1_entityType}.{0_property}' matches both '{field1}' and '{field2}' by convention. Explicitly specify the backing field to use with 'HasField' in 'OnModelCreating'.
@@ -367,7 +368,7 @@
The index named '{indexName}' defined on properties {indexProperties} cannot be added to the entity type '{entityType}' because an index with the same name already exists on entity type '{duplicateEntityType}'.
- The type '{entityType}' cannot have base type '{baseType}' because the properties '{derivedPropertyType}.{derivedProperty}' and '{basePropertyType}.{baseProperty}' are conflicting.
+ The type '{entityType}' cannot have base type '{baseType}' because the properties '{derivedPropertyType}.{derivedProperty}' and '{basePropertyType}.{baseProperty}' are in conflict.
The properties {propertyList} cannot be used for a foreign key, because they contain a duplicate: '{property}'.
@@ -463,7 +464,7 @@
The provided principal entity key '{principalKey}' is not a key on the entity type '{principalEntityType}'.
- The foreign keys on entity type '{dependentType}' cannot target the same entity type because it is a weak entity type.
+ The foreign keys on entity type '{dependentType}' cannot target the same entity type because it has a defining navigation.
The types of the properties specified for the foreign key {foreignKeyProperties} on entity type '{dependentType}' do not match the types of the properties in the principal key {principalKey} on entity type '{principalType}'.
@@ -589,7 +590,7 @@
The invoked method cannot be used for the entity type '{entityType}' because it does not have a primary key.
- Cannot create a DbSet for '{typeName}' because it is configured as an shared type entity type. Access the entity type via the `Set` method overload that accepts an entity type name.
+ Cannot create a DbSet for '{typeName}' because it is configured as an shared-type entity type. Access the entity type via the `Set` method overload that accepts an entity type name.
Cannot create a DbSet for '{typeName}' because this type is not included in the model for the context.
@@ -725,7 +726,7 @@
Debug CoreEventId.DetectChangesStarting string
- The same entity is being tracked as different weak entity types '{dependent1}' and '{dependent2}'. If a property value changes, it will result in two store changes, which might not be the desired outcome.
+ The same entity is being tracked as different entity types '{dependent1}' and '{dependent2}' with defining navigations. If a property value changes, it will result in two store changes, which might not be the desired outcome.
Warning CoreEventId.DuplicateDependentEntityTypeInstanceWarning string string
@@ -1077,7 +1078,7 @@
Property '{entityType}.{property}' cannot be used as a key because it has type '{modelType}' and provider type '{providerType}', neither of which implement 'IComparable<T>', 'IComparable' or 'IStructuralComparable'. Make '{modelType}' implement one of these interfaces to use it as a key.
- The navigation '{1_entityType}.{0_navigation}' must be configured in 'OnModelCreating' with an explicit name for the target shared type entity type, or excluded by calling 'EntityTypeBuilder.Ignore'.
+ The navigation '{1_entityType}.{0_navigation}' must be configured in 'OnModelCreating' with an explicit name for the target shared-type entity type, or excluded by calling 'EntityTypeBuilder.Ignore'.
The ownership by '{ownershipNavigation}' should use defining navigation '{definingNavigation}' for the owned type '{entityType}'
@@ -1245,7 +1246,7 @@
Translation of the 'string.Equals' overload with a 'StringComparison' parameter is not supported. See https://go.microsoft.com/fwlink/?linkid=2129535 for more information.
- An attempt was made to use the context while it is being configured. A DbContext instance cannot be used inside 'OnConfiguring' since it is still being configured at this point. This can happen if a second operation is started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.
+ An attempt was made to use the context instance while it is being configured. A DbContext instance cannot be used inside 'OnConfiguring' since it is still being configured at this point. This can happen if a second operation is started on this context instance before a previous operation completed. Any instance members are not guaranteed to be thread safe.
An attempt was made to use the model while it was being created. A DbContext instance cannot be used inside 'OnModelCreating' in any way that makes use of the model that is being created.
@@ -1338,7 +1339,7 @@
The entity type '{entityType}' is in shadow state. A valid model requires all entity types to have corresponding CLR type.
- The shared type entity type '{entityType}' cannot have a base type.
+ The shared-type entity type '{entityType}' cannot have a base type.
A call was made to '{optionCall}' that changed an option that must be constant within a service provider, but Entity Framework is not building its own internal service provider. Either allow Entity Framework to build the service provider by removing the call to '{useInternalServiceProvider}', or ensure that the configuration for '{optionCall}' does not change for all uses of a given service provider passed to '{useInternalServiceProvider}'.
@@ -1443,10 +1444,10 @@
An error was generated for warning '{eventName}': {message} This exception can be suppressed or logged by passing event ID '{eventId}' to the 'ConfigureWarnings' method in 'DbContext.OnConfiguring' or 'AddDbContext'.
- The type '{entityType}' cannot have weak entity type '{baseType}' as the base type.
+ The type '{entityType}' cannot have entity type '{baseType}' as the base type because the latter has a defining navigation.
- The weak entity type '{entityType}' cannot have a base type.
+ The entity type '{entityType}' cannot have a base type because it has a defining navigation.
Property '{1_entityType}.{0_property}' is of type '{actualType}' but the generic type provided is of type '{genericType}'.
diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs
index 25834d76cf6..f3b2b1e2003 100644
--- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs
@@ -2,6 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Threading.Tasks;
+using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.EntityFrameworkCore.TestModels.Northwind;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Xunit;
@@ -188,13 +189,14 @@ public virtual void ToQueryString_for_include_reference_and_collection()
{
using var context = CreateContext();
+
Assert.Equal(
@"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region]
FROM [Orders] AS [o]
LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]
ORDER BY [o].[OrderID], [c].[CustomerID]
-This LINQ query is being executed in split-query mode. The SQL shown is for the first query to be executed. Additional queries may also be executed depending on the results of the first query.",
+" + RelationalStrings.SplitQueryString,
context.Set().Include(o => o.Customer).Include(o => o.OrderDetails).AsSplitQuery().ToQueryString(),
ignoreLineEndingDifferences: true,
ignoreWhiteSpaceDifferences: true);
diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs
index d9be400d59c..87366660859 100644
--- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs
@@ -532,7 +532,7 @@ FROM [Employees] AS [e]
WHERE 0 = 1");
Assert.Contains(
- "Possible unintended use of method Equals(object) for arguments 'e.EmployeeID' and '@__longPrm_0' of different types in query. This comparison will always return 'false'.",
+ "Possible unintended use of method 'Equals' for arguments 'e.EmployeeID' and '@__longPrm_0' of different types in a query. This comparison will always return false.",
Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
}
@@ -562,10 +562,10 @@ FROM [Employees] AS [e]
WHERE 0 = 1");
Assert.Contains(
- "Possible unintended use of method Equals(object) for arguments 'e.ReportsTo' and '@__longPrm_0' of different types in query. This comparison will always return 'false'.",
+ "Possible unintended use of method 'Equals' for arguments 'e.ReportsTo' and '@__longPrm_0' of different types in a query. This comparison will always return false.",
Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
Assert.Contains(
- "Possible unintended use of method Equals(object) for arguments '@__longPrm_0' and 'e.ReportsTo' of different types in query. This comparison will always return 'false'.",
+ "Possible unintended use of method 'Equals' for arguments '@__longPrm_0' and 'e.ReportsTo' of different types in a query. This comparison will always return false.",
Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
}
@@ -583,10 +583,10 @@ FROM [Employees] AS [e]
WHERE 0 = 1");
Assert.Contains(
- "Possible unintended use of method Equals(object) for arguments 'e.ReportsTo' and '@__nullableLongPrm_0' of different types in query. This comparison will always return 'false'.",
+ "Possible unintended use of method 'Equals' for arguments 'e.ReportsTo' and '@__nullableLongPrm_0' of different types in a query. This comparison will always return false.",
Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
Assert.Contains(
- "Possible unintended use of method Equals(object) for arguments '@__nullableLongPrm_0' and 'e.ReportsTo' of different types in query. This comparison will always return 'false'.",
+ "Possible unintended use of method 'Equals' for arguments '@__nullableLongPrm_0' and 'e.ReportsTo' of different types in a query. This comparison will always return false.",
Fixture.TestSqlLoggerFactory.Log.Select(l => l.Message));
}