2017-04-20 18 views
0

最新の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); 
    } 
} 

答えて

0

OKみんなので、私はケースの移行で必要とされていない、我々はOnModelCreating方法をスキップして、ちょうどOnConfiguring方法と前方に行くことができることを見出しました。

public class ApplicationDbContext : DbContext 
{ 
    public DbSet<Student> Students { get; set; } 

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
     { 
     optionsBuilder.UseSqlServer(@"Server=servername;Database=dbname;Trusted_Connection=True;"); 

     } 
    } 
0

私はまだのようEFコア1.1サポートストアドプロシージャを信じていません。ここEFコア1.1対EF 6.Xの比較をチェックアウト:

Entity Framework Feature Comparision

+0

FromSql()を使用してプロシージャを呼び出すことができます。しかし、私の関心事は、OnModelCreating()の実装に関するものです。なぜなら、すべての例では、コードファースト/データベースの最初の移行を使用しているからです。 – izengod

関連する問題