我在这里为表做映射..如何在这里映射存储过程?
public class AppDBContext : DbContext
{
public DbSet<UserAccount> UserAccount { get; set; }
public DbSet<GetUserAccounts> GetGetUserAccounts { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<UserAccount>().ToTable("UserAccount");
modelBuilder.Entity<Customer>().ToTable("Customer");
base.OnModelCreating(modelBuilder);
}
}
最佳答案
Code first 不支持存储过程。
您可以使用以下方式在数据库初始化程序中执行脚本:
string sql = "CREATE PROCEDURE [MyProc]...";
context.Database.ExecuteSqlCommand(sql);
您可以像这样从上下文中执行过程:
string command = "EXEC MyProc";
IEnumerable<T> results = context.Database.SqlQuery<T>(command, null);
就个人而言,我将其包装成一个不错的 OO 模型。我有专门的带有强类型方法的 SP 类。这些方法用一个属性修饰,该属性告诉数据库初始化程序从给定源创建给定名称的存储过程。强类型方法调用存储过程。
关于c# - 如何在 ASP.NET MVC 3 Entity Framework 中使用 DBContext 映射存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12707682/