ODP.Net Managed Driver - ORA-12704: Zeichensatz stimmt im generierten Code nicht überein

Ich verwende derzeit den Oracle Managed Driver (v12.1.2400) als meinen Entity Framework-Treiber und sehe derzeit einORA-12704: character set mismatch Fehler während der Ausführung.

Der von mir verwendete LINQ-> SQL-Code lautet wie folgt:

from c in CUSTOMER.AsNoTracking()
where c.ACCOUNT.Contains("DE")
   && c.DELETED == "N"
orderby (c.FORENAME + c.SURNAME)
select new { c.ACCOUNT, c.FORENAME, c.SURNAME})

und dies erstellt die folgende SQL:

SELECT "Project1"."C2" AS "C1",
"Project1"."ACCOUNT" AS "ACCOUNT", 
"Project1"."FORENAME" AS "FORENAME",
"Project1"."SURNAME" AS "SURNAME"
FROM (
      SELECT(  (CASE WHEN ("Extent1"."FORENAME" IS NULL) THEN N''
                     ELSE "Extent1"."FORENAME" END)
             ||(CASE WHEN ("Extent1"."SURNAME" IS NULL) THEN N''
                     ELSE "Extent1"."SURNAME" END)) AS "C1", 
             "Extent1"."ACCOUNT" AS "ACCOUNT", 
             "Extent1"."FORENAME" AS "FORENAME",
             "Extent1"."SURNAME" AS "SURNAME",
             1 AS "C2"
      FROM "TEST"."CUSTOMER" "Extent1"
      WHERE (("Extent1"."ACCOUNT" LIKE '%DE%') 
             AND ('N' = "Extent1"."DELETED")))  "Project1"
ORDER BY "Project1"."C1" ASC;

Wenn ich dieses SQL debugge, sehe ich, dass das SQL @ verwendeN'' in demCASE Abschnitte. AS die Spalten sind nicht Unicode, wenn ich das vorhergehende @ entferN nur @ verlass'' dann funktioniert der sql wie erwartet.

Gibt es eine Möglichkeit, diese Standardeinstellung zu verhindern?

Alle DB-Spalten sind derzeitVARCHAR und werden in C # als @ modelliestring.
ie ersten Zuordnungen von @Code für die beiden Spalten lauten wie folgt:

this.Property(t => t.FORENAME).HasColumnName("FORENAME").IsUnicode(false).HasMaxLength(35);
this.Property(t => t.SURNAME).HasColumnName("SURNAME").IsUnicode(false).HasMaxLength(35);

Ich habe erwartet, dass dieIsUnicode(false)ie @ -Anweisung würde sich darum kümmern.

FYI, das hat funktioniert, als ich EF5 und den nicht verwalteten Treiber verwendet habe.
Außerdem haben die Devart dotConnectForOracle-Treiber dieses Problem nicht. Ich denke, dies ist ein Fehler in den Oracle-Treibern.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage