Sorry about the delay, I was out over the holidays.
Just in case it changes anything, I'm explicitly mapping columns like this:
Code: Select all
modelBuilder.Entity<ExptDto>()
.ToTable("ATF_EXPT_PRISM")
.HasKey(e => e.ExptId);
modelBuilder.Entity<ExptDto>()
.Property(e => e.Crop)
.HasColumnName("EXPT_CROP")
.HasMaxLength(50);
modelBuilder.Entity<ExptDto>()
.Property(e => e.Description)
.HasColumnName("EXPT_DESCRIPTION");
modelBuilder.Entity<ExptDto>()
.Property(e => e.ExptId)
.HasColumnName("EXPT_ID");
modelBuilder.Entity<ExptDto>()
.Property(e => e.Name)
.HasColumnName("EXPT_NAME")
.HasMaxLength(60);
modelBuilder.Entity<ExptDto>()
.Property(e => e.Year)
.HasColumnName("EXPT_YEAR")
.HasMaxLength(50);
My queries now look like this.
Code: Select all
var monitor = new Devart.Data.Oracle.OracleMonitor() { IsActive = true };
var config = OracleEntityProviderConfig.Instance;
config.QueryOptions.CaseInsensitiveComparison = true;
config.QueryOptions.CaseInsensitiveLike = true;
string comparisonString = "corn"; // actual value is CORN
var comparisonQuery = _ctx.Experiments
.Where(e => e.Crop == comparisonString).ToList();
string likeString = "asr"; // actual value is ASR
var likeQuery = _ctx.Experiments
.Where(e => e.Name.Contains(likeString)).ToList();
But I'm still getting case sensitive results.
For Case 2 point (a)
For the comparison query
Code: Select all
SELECT "e".EXPT_ID, "e".EXPT_CROP, "e".EXPT_DESCRIPTION, "e".EXPT_NAME, "e".EXPT_YEAR
FROM TTRS.ATF_EXPT_PRISM "e"
WHERE "e".EXPT_CROP = :p__comparisonString_0
And for the like query
Code: Select all
SELECT "e".EXPT_ID, "e".EXPT_CROP, "e".EXPT_DESCRIPTION, "e".EXPT_NAME, "e".EXPT_YEAR
FROM TTRS.ATF_EXPT_PRISM "e"
WHERE INSTR("e".EXPT_NAME, :p__likeString_0) > 0
for Case 2 (b)
We don't have an explicit dependency on Entity framework, so probably just what is inherited from Devart.Data.Oracle.EFCore (9.5.399) which I think is Microsoft.EntityFrameworkCore.Relational (2.0.0)
for Case 2 (c)
We are using Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
And I'm not really sure about the client, I want to say Devart dotConnect for Oracle 9.5.399.0 but I'm don't know exactly what you are asking for there.
And just to be very specific, we are running this targeting both net461 and netcoreapp2.0.
Let me know if you have any more questions