First of all thanks for your great work!
Using your latest Version2.1 branch we got a problem with broken statements generated fromFbQuerySqlGenerator. The problem occurs due to the VisitTable() implementation (We are using Dialect1).
Obviously the alias used for the id field does not match the one for the table. If we comment out your VisitTable() implementation we get:
SELECT address.ID
FROM ADDRESSES address
WHERE address.ID = 1
In my opinion VisitTable() is not the correct place to fix the alias. At the time of VisitTable()the columns have already been appended to the sql. I am wondering how this works for your clients? What do you thing?
Steps to reproduce
public class Address
{
public int Id { get; set; }
}
public partial class AddressContext : DbContext
{
public virtual DbSet<Address> Addresses { get; set; }
public AddressContext(DbContextOptions<AddressContext> options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Address>(entity =>
{
entity.ToTable("ADDRESSES");
entity.Property(e => e.Id).HasColumnName("ID");
});
}
}
[Route("api/[controller]")]
public class DummyController : Controller
{
private readonly AddressContext context;
public DummyController(AddressContext context)
{
this.context = context;
}
[HttpGet]
public IActionResult Index()
{
return Ok(context.Addresses.FirstOrDefault(address => address.Id == 1));
}
}
The issue
First of all thanks for your great work! Using your latest Version2.1 branch we got a problem with broken statements generated from
FbQuerySqlGenerator
. The problem occurs due to theVisitTable()
implementation (We are using Dialect1).We have a simple setup like this:
The generated sql looks like this:
Obviously the alias used for the id field does not match the one for the table. If we comment out your
VisitTable()
implementation we get:In my opinion
VisitTable()
is not the correct place to fix the alias. At the time ofVisitTable()
the columns have already been appended to the sql. I am wondering how this works for your clients? What do you thing?Steps to reproduce
Further technical details
Firebird version: 2.5 EntityFrameworkCore.FirebirdSql version: 2.1
Other details about my project setup: Dialect1