加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何使用ASP.NET MVC 3实体框架中的DBContext映射存储过程

发布时间:2020-12-15 08:40:21 所属栏目:百科 来源:网络整理
导读:我在这里映射表格..如何在这里映射存储过程? public class AppDBContext : DbContext{ public DbSetUserAccount UserAccount { get; set; } public DbSetGetUserAccounts GetGetUserAccounts { get; set; } protected override void OnModelCreating(DbMode
我在这里映射表格..如何在这里映射存储过程?
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初始化程序从给定的源创建给定名称的存储过程.强类型方法调用存储过程.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读