Entity Framework 6.0存储过程返回不同数量的列

时间:2016-05-24 09:36:46

标签: c# sql-server entity-framework stored-procedures

我正在使用Entity Framework 6.0。我有存储过程返回4列:

 result, message, id, name

如果在执行存储过程期间发生错误,代码将返回结果列,结果集中的列数将只有两个:

result, message

但是如果存储过程成功完成,它将返回N个记录,结果集将包含四列:

result, message, id, name

如果存储过程返回两列我得到例外:

  

数据阅读器与指定的...

不兼容

我理解这个异常意味着什么以及它为什么会抛出,但我无法理解如何解决这个问题。好吧,一个解决方案是使用可空字段创建我自己的类型并调用Database.SqlQuery<MyType>

还有更漂亮的解决方案吗?也许在哪里可以更改某些设置或修改一些内容并像往常一样调用我的存储过程?

0 个答案:

没有答案