我正在使用最新EF Core 1.1.1
和.NET Core
。现在我想在我的OnModelCreating
类中的ApplicationDbContext
方法中实现一些通用代码来从db调用任何现有的SP。请注意,我有我的模型类和数据库表。因此,我既不想要任何迁移,也不想为OnModelCreating
内的特定SP指定SP参数。它应该是可用于任何SP的通用实现。我唯一的目的是从数据库中调用任何现有的SP。
实体:
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 :(得分:0)
我认为EF Core 1.1尚不支持存储过程。在这里查看EF 6.X与EF Core 1.1的比较:
答案 1 :(得分:0)
好的家伙所以我发现如果不需要迁移,我们可以跳过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;");
}
}