oracle / dotnet-db-samples

.NET code samples for Oracle database developers #OracleDotNet
http://otn.oracle.com/dotnet
MIT License
408 stars 190 forks source link

Unicode conversion default behaviour. Not changeable when using string interpolated queries. #288

Open BernhardNinaus opened 1 year ago

BernhardNinaus commented 1 year ago

It is not possible to change the default string conversion (nvarchar2) in an interpolated string.

e.g.

 db.Model.FromSqlInterpolated("select ... from ... where key in (... field = {val} ...)")

What I already considered:

Note that field is not accessible in Model.

It would be really nice to globaly change the behaviour of using varchar2 instead of nvarchar2. Something like:

builder.Services.AddDbContext<DataContext>(
    options => options.UseOracle(builder.Configuration.GetConnectionString("DB"),
    oraOptionsBuilder => oraOptionsBuilder.UserVarchar2()));

This would also allow to be a little more lazy on the column type definition with HasColumnType.

alexkeh commented 1 year ago

There aren't any current workarounds, I can think of. I've filed an enhancement request (ER 35359392) to track this issue.