Skip to content

Commit

Permalink
Better detection of string store types on primitive collections
Browse files Browse the repository at this point in the history
Fixes #30919
  • Loading branch information
ajcvickers committed May 18, 2023
1 parent 00c6ac4 commit 782f4b8
Show file tree
Hide file tree
Showing 3 changed files with 349 additions and 162 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -437,16 +437,20 @@ public SqlServerTypeMappingSource(
return null;
}

switch (mappingInfo.StoreTypeNameBase)
switch (mappingInfo.StoreTypeNameBase?.ToLowerInvariant())
{
case "nvarchar":
case "varchar":
case "char varying":
case "char":
case "character varying":
case "character":
case "nchar":
case "national char varying":
case "national character varying":
case "national character":
case "varchar":
case "text":
case "ntext":
case null:
break;
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ protected IMutableEntityType CreateEntityType<TEntity>()
builder.Entity<MyPrecisionType>().Property(e => e.PrecisionOnly).HasPrecision(16);
builder.Entity<MyPrecisionType>().Property(e => e.PrecisionAndScale).HasPrecision(18, 7);
builder.Entity<MyTypeWithIndexAttribute>();
builder.Entity<MyTypeWithIndexAttributeOnCollection>();

return builder.Model.FindEntityType(typeof(TEntity));
}
Expand Down Expand Up @@ -203,4 +204,11 @@ protected class MyTypeWithIndexAttribute
public int Id { get; set; }
public string Name { get; set; }
}

[Index(nameof(Ints))]
protected class MyTypeWithIndexAttributeOnCollection
{
public int Id { get; set; }
public IEnumerable<int> Ints { get; set; }
}
}
Loading

0 comments on commit 782f4b8

Please sign in to comment.