我是MVC新手,我使用DB第一方法和实体框架。我已经导入了大多数返回复杂类型的自定义存储过程。到目前为止还好。我还看到在Context.cs
中创建的代码对象。现在在哪里(在控制器?)和如何调用存储过程,并添加相关的视图?我不喜欢linQ
或原始sql
查询方法
SP的一个例子是:
create proc Test1
@company_name varchar(50)
)
as
(
select * from Profile
where greek_name like '%' + @company_name + '%'
您可以在任何需要的地方调用存储过程,主要是在服务层,为什么?因为服务层通常是无状态的,如果有一个独立的无状态层,当你的应用需要扩展时,它可以水平扩展,而且痛苦更少。
var companyName = new SqlParameter("@company_name", SqlDbType.VarChar) {Value = variable_name};
var oReturnObjects = DataContext.Database.SqlQuery<ClassName>(
"spa_Test1 @company_name", companyName);
更多链接:
- 实体框架代码首先支持存储过程吗?
- 如何在实体框架6中调用存储过程(代码优先)?