Skip to content

Commit e356ef1

Browse files
committed
Add mapping for regconfig type
Fixes #516 (cherry picked from commit 76da2f3)
1 parent 1219074 commit e356ef1

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using System.Text;
2+
using Microsoft.EntityFrameworkCore.Storage;
3+
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
4+
using Npgsql.EntityFrameworkCore.PostgreSQL.Utilities;
5+
using NpgsqlTypes;
6+
7+
namespace Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping
8+
{
9+
public class NpgsqlRegconfigTypeMapping : NpgsqlTypeMapping
10+
{
11+
public NpgsqlRegconfigTypeMapping() : base("regconfig", typeof(string), NpgsqlDbType.Unknown) { }
12+
13+
protected NpgsqlRegconfigTypeMapping(RelationalTypeMappingParameters parameters, NpgsqlDbType npgsqlDbType)
14+
: base(parameters, npgsqlDbType) {}
15+
16+
public override RelationalTypeMapping Clone(string storeType, int? size)
17+
=> new NpgsqlRegconfigTypeMapping(Parameters.WithStoreTypeAndSize(storeType, size), NpgsqlDbType);
18+
19+
public override CoreTypeMapping Clone(ValueConverter converter)
20+
=> new NpgsqlRegconfigTypeMapping(Parameters.WithComposedConverter(converter), NpgsqlDbType);
21+
}
22+
}

src/EFCore.PG/Storage/Internal/NpgsqlTypeMappingSource.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ public class NpgsqlTypeMappingSource : RelationalTypeMappingSource
107107
// Full text search mappings
108108
readonly NpgsqlTsQueryTypeMapping _tsquery = new NpgsqlTsQueryTypeMapping();
109109
readonly NpgsqlTsVectorTypeMapping _tsvector = new NpgsqlTsVectorTypeMapping();
110+
readonly NpgsqlRegconfigTypeMapping _regconfig = new NpgsqlRegconfigTypeMapping();
110111
readonly NpgsqlTsRankingNormalizationTypeMapping _rankingNormalization = new NpgsqlTsRankingNormalizationTypeMapping();
111112

112113
// Built-in ranges
@@ -214,7 +215,8 @@ public NpgsqlTypeMappingSource([NotNull] TypeMappingSourceDependencies dependenc
214215
{ "daterange", new[] { _daterange } },
215216

216217
{ "tsquery", new[] { _tsquery } },
217-
{ "tsvector", new[] { _tsvector } }
218+
{ "tsvector", new[] { _tsvector } },
219+
{ "regconfig", new[] { _regconfig } }
218220
};
219221

220222
var clrTypeMappings = new Dictionary<Type, RelationalTypeMapping>

0 commit comments

Comments
 (0)