diff --git a/src/FirebirdSql.EntityFrameworkCore.Firebird.Tests/Query/ElementaryTests.cs b/src/FirebirdSql.EntityFrameworkCore.Firebird.Tests/Query/ElementaryTests.cs index 3c73dd6c5..acfdc3ff3 100644 --- a/src/FirebirdSql.EntityFrameworkCore.Firebird.Tests/Query/ElementaryTests.cs +++ b/src/FirebirdSql.EntityFrameworkCore.Firebird.Tests/Query/ElementaryTests.cs @@ -209,6 +209,53 @@ public async Task SelectWithCollate() StringAssert.Contains(@"CAST(_UTF8'test' AS VARCHAR(4) CHARACTER SET UTF8) COLLATE UNICODE_CI_AI", sql); } } + + [Test] + public async Task SqlQueryScalarSingleQuotesValueColumn() + { + await using (var db = await GetDbContext()) + { + var result = await db.Database.SqlQueryRaw(@"SELECT 1 AS ""Value"" FROM RDB$DATABASE").SingleAsync(); + var sql = db.LastCommandText; + Assert.AreEqual(1, result); + StringAssert.DoesNotContain("Value", sql.Replace(@"""Value""", string.Empty)); + } + } + + [Test] + public async Task SqlQueryScalarSingleOrDefaultQuotesValueColumn() + { + await using (var db = await GetDbContext()) + { + var result = await db.Database.SqlQueryRaw(@"SELECT 1 AS ""Value"" FROM RDB$DATABASE").SingleOrDefaultAsync(); + var sql = db.LastCommandText; + Assert.AreEqual(1, result); + StringAssert.DoesNotContain("Value", sql.Replace(@"""Value""", string.Empty)); + } + } + + [Test] + public async Task SqlQueryScalarComposedWhereQuotesValueColumn() + { + await using (var db = await GetDbContext()) + { + var query = db.Database.SqlQueryRaw(@"SELECT 1 AS ""Value"" FROM RDB$DATABASE").Where(x => x > 0); + Assert.DoesNotThrowAsync(() => query.LoadAsync()); + var sql = db.LastCommandText; + StringAssert.DoesNotContain("Value", sql.Replace(@"""Value""", string.Empty)); + } + } + + [Test] + public async Task EntitySingleOrDefaultQuotesIdentifiers() + { + await using (var db = await GetDbContext()) + { + var result = await db.Set().OrderBy(x => x.AttachmentId).Take(1).SingleOrDefaultAsync(); + var sql = db.LastCommandText; + Assert.IsNotNull(result); + } + } } class SelectContext : FbTestDbContext