这是我期望的简单但不起作用的东西。我只是希望能够在我的SQL Server数据库中创建存储过程,并从我的MVC3 Web应用程序中调用它们。我设法将我的SP导入到生成的函数中,但是当我打电话给我时,出现错误:MVC3调用SQL Server存储过程
数据读取器与指定的“dbname.school_accreditation”不兼容。类型为'school_accreditation_id'的成员在数据读取器中没有相应的列,但名称相同。
我在SQL Server中创建了一个存储过程。
USE [mydb]
GO
/****** Object: StoredProcedure [dbo].[DeleteSchoolAccreditations] Script Date: 02/07/2014 20:56:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[DeleteSchoolAccreditations]
@school_id int
AS
DELETE FROM [dbo].[school_accreditation]
WHERE school_id = @school_id
生成的c#函数调用SP。
public virtual ObjectResult<school_accreditation> DeleteSchoolAccreditations(Nullable<int> school_id)
{
((IObjectContextAdapter)this).ObjectContext.MetadataWorkspace.LoadFromAssembly(typeof(school_accreditation).Assembly);
var school_idParameter = school_id.HasValue ?
new ObjectParameter("school_id", school_id) :
new ObjectParameter("school_id", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<school_accreditation>("DeleteSchoolAccreditations", school_idParameter);
}
我是否需要对此生成的方法执行任何操作才能使其生效。我正在传递一个int方法,当我调试时它看起来都很好。
请大力接收任何帮助。
Joe
那么,这将有助于你了解你使用的是哪种技术。 MVC没有任何数据访问功能。您可以使用任何您想要的数据访问技术。您好像使用的是不是MVC的实体框架。 –
这是一个公平点。我应该更加明确。谢谢 – Yos