使用实体框架在一个存储过程中插入,更新,删除查询

时间:2017-10-18 12:14:36

标签: c# sql-server asp.net-mvc entity-framework stored-procedures

我在一个Stored Procedure中创建了多个查询。检查以下示例:

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

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

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

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

1 个答案:

答案 0 :(得分:0)

您获得的错误与过程中包含的查询无关,您可以在过程中包含插入和选择查询,没有任何问题。

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

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

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