Skip to content

Commit 34acfda

Browse files
authored
Add tests for Value column quoting in Single/SingleOrDefault queries. Fix #1234 (#1263)
1 parent a61996c commit 34acfda

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

src/FirebirdSql.EntityFrameworkCore.Firebird.Tests/Query/ElementaryTests.cs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,42 @@ public async Task SelectWithCollate()
209209
StringAssert.Contains(@"CAST(_UTF8'test' AS VARCHAR(4) CHARACTER SET UTF8) COLLATE UNICODE_CI_AI", sql);
210210
}
211211
}
212+
213+
[Test]
214+
public async Task SqlQueryScalarSingleQuotesValueColumn()
215+
{
216+
await using (var db = await GetDbContext<SelectContext>())
217+
{
218+
var query = db.Database.SqlQueryRaw<int>(@"SELECT 1 AS ""Value"" FROM RDB$DATABASE");
219+
Assert.DoesNotThrowAsync(() => query.SingleAsync());
220+
var sql = db.LastCommandText;
221+
StringAssert.Contains(@".""Value""", sql);
222+
}
223+
}
224+
225+
[Test]
226+
public async Task SqlQueryScalarSingleOrDefaultQuotesValueColumn()
227+
{
228+
await using (var db = await GetDbContext<SelectContext>())
229+
{
230+
var query = db.Database.SqlQueryRaw<int>(@"SELECT 1 AS ""Value"" FROM RDB$DATABASE");
231+
Assert.DoesNotThrowAsync(() => query.SingleOrDefaultAsync());
232+
var sql = db.LastCommandText;
233+
StringAssert.Contains(@".""Value""", sql);
234+
}
235+
}
236+
237+
[Test]
238+
public async Task SqlQueryScalarComposedWhereQuotesValueColumn()
239+
{
240+
await using (var db = await GetDbContext<SelectContext>())
241+
{
242+
var query = db.Database.SqlQueryRaw<int>(@"SELECT 1 AS ""Value"" FROM RDB$DATABASE").Where(x => x > 0);
243+
Assert.DoesNotThrowAsync(() => query.LoadAsync());
244+
var sql = db.LastCommandText;
245+
StringAssert.Contains(@".""Value""", sql);
246+
}
247+
}
212248
}
213249

214250
class SelectContext : FbTestDbContext

0 commit comments

Comments
 (0)