Вести с полей. EntityFrameworkCore

Не приходя в сознание, запилил каркас провайдера для EntityFrameworkCore, через который получилось выполнить по настоящему интересную штуку:

public static class Test_001
{
 public class MyContext:DbContext
 {
  public DbSet<DUAL> table_DUAL { get; set; }

  protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  {
   optionsBuilder.UseLcpiOleDbFirebird
    ("provider=LCPI.IBProvider.3;"
     +"location=inet4://localhost/d:\\database\\ram\\ibp_test_fb30_d3.gdb;"
     +"user id=GAMER;"
     +"password=vermut;"
     +"dbclient_type=fb.direct;"
     +"auto_commit=true");
  }//OnConfiguring

  [Table("DUAL")]
  public class DUAL
  {
   public int ID { get; set; }
  };//class DUAL
 };//class MyContext

 [Test]
 public static void Test_01()
 {
  using(var db=new MyContext())
  {
   foreach (var rec in db.table_DUAL)
   {
    Console.WriteLine("ID: {0}",rec.ID);
   }
  }//using
 }//Test_01
};//class Test_001

Теперь можно включать спинной мозг для дополнительной разведки местности.

И мне уже кажется, что UseLcpiOleDbFirebird нужно сократить до UseLcpiOleDb. Потому что, скорее всего получится соорудить универсальный провайдер как для Firebird, так и для InterBase.

Leave a Comment