0

我在一个Stored Procedure中创建了多个查询。检查下面的例子:
使用实体框架在一个存储过程中插入,更新和删除查询

IF(@Type='add') 
BEGIN 
    Insert query 
END 

IF(@Type='get') 
BEGIN 
    Select query 
END 

我在我的MVC项目中使用Entity Framework。所以,我收到错误:does not have a corresponding column in the data reader with the same name

是否需要为每个查询创建不同的Stored Procedures?我如何实现我想要做的事情?

+0

这是关于如何编写它的选择。 – Amit

+0

你能告诉你如何设置'query'值吗? –

+0

@ S.Dav我正在添加实体框架模型(Ado.NET实体数据模型和EF Designer来自数据库)。 –

回答

0

您得到的错误与过程中包含的查询无关,您可以在过程中同时包含插入和选择查询,而不会出现问题。

select查询必须在插入之后,以便存储过程返回的查询结果因此实体框架可以正确地将属性映射到模型。

另一个问题,我认为,选择查询,没有返回完整的实体模型,我认为你只返回特定的列而不是所有的列。

我建议您将它们拆分为两个不同的过程,以便将选择查询映射到模型。并且插入查询没有选择就可以正常工作。

+0

在我上面的存储过程中,如果我在插入语句后添加select查询,那么它工作正常。 'IF(@类型=“添加”) BEGIN其中id =最后一个ID END' –

+0

是它必须是插入后,使其返回到结果从存储过程回 插入查询 Select查询。 – 2017-10-18 12:21:20

+0

@JeetenParmar - 见我更新 – 2017-10-18 12:22:24

相关问题