EFcodeFirst如何使用存储过程!
请问在.net mvc3中使用EFcodeFirst数据库框架如何使用存储过程!
9回答
-
慕仙森
用这种 context.Database.SqlQuery 方式行不
-
拉莫斯之舞
这种能处理out 值么?
-
慕无忌1623718
@Sai.: 可以 context.Database.SqlQuery , TResult 就是返回的结果
-
大话西游666
@Yu: 谢谢啊,但是我是说存储过程的 输出参数?
-
HUWWW
public class Category
{
public string CategoryId { get; set; }
public string Name { get; set; }
public string Comment { get; set; }
}
我这测试没问题的,不知能否帮到
-
慕田峪9158850
EF Code First似乎对存储过程的支持不是很好,执行存储过程,一般会通过将DbContext转换为ObjectContext,再调用他的ExecuteFunction重载方法,但这些重载只能返回查询结果(表格的那种多行记录),或者返回受影响的行数,ExecuteFunction重载方法中有一些可以传入参数,但参数是ObjectParameter,这个类型的参数不支持想SQLParameter的Direction那样的参数类型设置。所以我觉得要执行返回值的话只能通过dbContext.Database.Connection(DbConnection实例)来执行,或者将就是通过dbContext.Database.ExecuteCommand重载方法间接执行存储过程语句:
declare @result int;
exec @result=sp_procedure 参数
select @result as '存储过程返回值'