如何获取entity framework来更新复杂types?

我正在使用entity framework(EF)从存储过程创build一个复杂的types。 最近,存储过程发生了变化(更多的返回值被添加了,我想更新映射到这个存储过程的复杂types,这是可能的,如果是这样的话,我现在每次删除我的函数import和complextypes存储过程更改,这很可能不是最好的方法。

我发现了另一种方法,而不删除复杂的types。 您可以更新复杂types,Visual Studio将添加任何更改的列。 就是这样:

  1. 打开.edmx文件并转到模型浏览器。
  2. 如果您的存储过程已更改,请右键单击模型浏览器中的任何白色区域,然后select“从数据库更新模型”,单击“完成”。 这将刷新您的存储过程。
  3. 现在深入到XModel.edmx> XModel> EntityContainer:XEntities> Function Imports(X是您的实体名称),然后右键单击您需要更新的那个。 select编辑。
  4. 点击“获取列信息”。 现在,在“复杂types”单选button旁边,有一个“更新”button。 按此更新您的复杂types,然后按下OKbutton。

这应该做到这一点!

有一个更简单的方法来实现,看看这里 。 它将一些元信息添加到存储过程中,EF用来为您生成适当的返回types。

存储过程的元信息部分没有执行,只是告诉它返回哪些列和数据types。