我在这里映射表格..如何在这里映射存储过程?
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); } }
解决方法
代码优先不支持存储过程.
您可以使用以下命令在数据库初始化程序中执
string sql = "CREATE PROCEDURE [MyProc]..."; context.Database.ExecutesqlCommand(sql);
您可以从上下文执行它们的过程,如下所示:
string command = "EXEC MyProc"; IEnumerable<T> results = context.Database.sqlQuery<T>(command,null);
就个人而言,我把它包装成一个漂亮的OO模型.我有专门的SP类与强类型的方法.这些方法使用一个属性进行修饰,该属性告诉DB初始化程序从给定的源创建给定名称的存储过程.强类型方法调用存储过程.