I am migrating a legacy system made in Delphi + FireDac to C# + EF. As it is a legacy system, there is already a database with many records (Many records without encoding information).
When I get records that contain special characters using C# + EF, the characters are not displayed correctly.
How can I fix this problem?
C#
Delphi
MainWindow.xaml.cs - ButtonClick
private void Button_Click(object sender, RoutedEventArgs e)
{
string appPath = AppContext.BaseDirectory;
string connectionString = $"database=localhost/3050:{appPath}\\database\\test.fdb;user=sysdba;password=masterkey";
using (AppDbContext con = new AppDbContext(connectionString))
{
Product p = con.Products.First();
lblText.Text = p.Name;
}
}
AppDbContext.cs
public class AppDbContext : DbContext
{
private readonly string _connectionString;
public DbSet<Product> Products { get; set; }
public AppDbContext(string connectionString)
{
_connectionString = connectionString;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.UseFirebird(_connectionString);
}
}
Product.cs
[Table("PRODUCTS")]
public class Product
{
[Column("ID")]
public int Id { get; set; }
[Column("NAME")]
public string Name { get; set; }
}

