Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework MVC数据库第一个EF导入的SP返回复杂类型如何以及在何处调用它_Entity Framework_Model View Controller_Procedures - Fatal编程技术网

Entity framework MVC数据库第一个EF导入的SP返回复杂类型如何以及在何处调用它

Entity framework MVC数据库第一个EF导入的SP返回复杂类型如何以及在何处调用它,entity-framework,model-view-controller,procedures,Entity Framework,Model View Controller,Procedures,我是MVC新手,我使用DB优先的方法和实体框架。我已经导入了自定义存储过程,这些存储过程返回的大多是复杂类型。到目前为止还可以。 我还看到了在Context.cs中创建的code-object。现在,在哪里(在控制器中?)以及如何调用存储过程并添加相关视图?我不喜欢linQ或原始sql查询方法 SP的一个例子是: create proc Test1 @company_name varchar(50) ) as ( select * from Profile where greek_name l

我是MVC新手,我使用DB优先的方法和实体框架。我已经导入了自定义存储过程,这些存储过程返回的大多是复杂类型。到目前为止还可以。 我还看到了在
Context.cs
中创建的code-object。现在,在哪里(在控制器中?)以及如何调用存储过程并添加相关视图?我不喜欢
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);
var companyName=newsqlparameter(“@company_name”,SqlDbType.VarChar){Value=variable_name};
var oReturnObjects=DataContext.Database.SqlQuery(
“spa_Test1@company_name”,companyName);
更多链接:


您可以在任何需要的地方调用存储过程,主要是在服务层,为什么?因为服务层通常是无状态的,并且有单独的无状态层,可以在水平方向上进行扩展,以减少应用程序需要扩展时的痛苦

var companyName = new SqlParameter("@company_name", SqlDbType.VarChar) {Value = variable_name};
var oReturnObjects = DataContext.Database.SqlQuery<ClassName>(
                "spa_Test1 @company_name", companyName);
var companyName=newsqlparameter(“@company_name”,SqlDbType.VarChar){Value=variable_name};
var oReturnObjects=DataContext.Database.SqlQuery(
“spa_Test1@company_name”,companyName);
更多链接:


在DB-first进近中,所有SP都作为方法添加到EF上下文中。在DB-first进近中,所有SP都作为方法添加到EF上下文中。谢谢Bryknaval!我将尝试itpublic虚拟对象结果Test1(字符串company_name){var company_name parameter=company_name!=null?新对象参数(“company_name”,company_name):新对象参数(“company_name”,typeof(string));返回((IObjectContextAdapter)this).ObjectContext.ExecuteFunction(“Test1”,company_nameParameter)}您好,这是在EF上下文中创建的方法。我想我现在需要用这个方法创建一个类(新模型)和一个实例对象(新控制器)?你能提供帮助吗?谢谢Bryknaval!我将尝试itpublic虚拟对象结果Test1(字符串company_name){var company_name parameter=company_name!=null?新对象参数(“company_name”,company_name):新对象参数(“company_name”,typeof(string));返回((IObjectContextAdapter)this).ObjectContext.ExecuteFunction(“Test1”,company_nameParameter)}您好,这是在EF上下文中创建的方法。我想我现在需要用这个方法创建一个类(新模型)和一个实例对象(新控制器)?你能提供帮助吗?