首页 新闻 会员 周边

Entity Framework code first如何调用存储过程?

0
悬赏园豆:20 [已解决问题] 解决于 2012-04-10 09:31

请教大家个问题

用ObjectContext时有个ExecuteFunction方法可以调存储过程,DbContext里我看了看貌似没有相应的方法啊,难道不能用存储过程了?

wangjunniit的主页 wangjunniit | 初学一级 | 园豆:197
提问于:2011-01-18 19:07
< >
分享
最佳答案
0

用DbSet<Entity>.SqlQuery()

 

存储过程:

create proc T_Get

@ID varchar(10)

Begin

Select * from Course where id = @ID

End

public virtual IEnumerable<TEntity> GetWithRawSql(string query, params object[] parameters)
{
    return dbSet.SqlQuery(query, parameters).ToList();
}

 

public ActionResult Details(int id)
{
    var query = "exec T_Get @p0";
    return View(unitOfWork.CourseRepository.GetWithRawSql(query, id).Single());
}

在这里一定要注意,参数的名字一定要是@p0,@p1依次排下去。

收获园豆:20
代码哥 | 初学一级 |园豆:187 | 2012-04-09 15:32

太感谢你了,没想到1年多了,还有人给我解答。

wangjunniit | 园豆:197 (初学一级) | 2012-04-10 09:31
其他回答(2)
0

同问

軒轅劍 | 园豆:64 (初学一级) | 2011-04-27 14:28
0

out值怎么处理

程序员编程日记 | 园豆:6 (初学一级) | 2015-08-20 15:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册