最新のEF Core 1.1.1
を.NET Core
で使用しています。今度は私のApplicationDbContext
クラスのOnModelCreating
メソッド内にいくつかの既存のSPを呼び出すための汎用コードを実装したいと思います。私はモデルクラスとデータベーステーブルの両方を持っています。だから、私は移行を望んでおらず、OnModelCreating
内の特定のSPのSPパラメータを指定したくない。これは、どのSPでも使用できる汎用実装でなければなりません。私の唯一の目的は、既存のSPをデータベースから呼び出すことです。Entity Frameworkコアから既存のストアドプロシージャを呼び出す
エンティティ:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
ApplicationDbContextクラス:
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext()
{
Database.Connection.ConnectionString = "Data Source=.\\SQLExpress;Initial
Catalog=CallingExistingSPFromEFCore;Integrated Security=True";
}
public DbSet<Product> Products { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Product>().MapToStoredProcedures
(
//What should be the implementation here ?
)
base.OnModelCreating(modelBuilder);
}
}
FromSql()を使用してプロシージャを呼び出すことができます。しかし、私の関心事は、OnModelCreating()の実装に関するものです。なぜなら、すべての例では、コードファースト/データベースの最初の移行を使用しているからです。 – izengod