如何获取实体框架以更新复杂类型?

Hal*_*yon 42 c# entity-framework

我正在使用实体框架(EF)从存储过程创建复杂类型.最近,存储过程发生了变化(添加了更多的返回值.我想更新映射到此存储过程的复杂类型.这是可能的,如果是这样,怎么样?我每次都删除我的函数导入和复杂类型存储过程更改,这很可能不是最好的方法.

Hal*_*yon 114

我发现了另一种不删除复杂类型的方法.您可以更新复杂类型,Visual Studio将添加任何已更改的列.这是如何做:

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

应该这样做!

  • 太直观了!我为什么不这么想?!?!为你的VS探索性点击技能+1,Halcyon.非常感谢. (8认同)
  • 你怎么能一个接一个地进行大量的功能导入?对于所有函数导入,是否有任何方法可以立即执行此操作? (3认同)
  • 这是荒谬的,VS不会自动处理这个问题. (3认同)
  • 没有必要单击"获取列信息",单击"更新"将执行相同的操作. (2认同)