如何让实体框架更新复杂类型?

发布于 2024-11-06 15:17:14 字数 128 浏览 0 评论 0原文

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

I'm using the Entity Framework (EF) to create a complex type from a stored procedure. Recently, the stored procedure changed (more return values were added. I would like to update the complex type that maps to this stored procedure. Is this possible and if so, how? I am currently deleting my function import and complex type each time a stored procedure changes, which is most likely not the best approach.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

玩物 2024-11-13 15:17:14

我找到了另一种方法来做到这一点而不删除复杂类型。您可以更新复杂类型,Visual Studio 将添加任何更改的列。操作方法如下:

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

应该这样做!

I found another way of doing this without deleting the complex type. You can update your Complex Type and Visual Studio will add any changed columns. Here's how:

  1. Open your .edmx file and go to the model browser.
  2. If your stored proc changed, right-click on any white area in the model browser and select Update Model From Database, click "Finish". This will refresh your stored procedure.
  3. Now drill down into XModel.edmx > XModel > EntityContainer:XEntities > Function Imports (X is your entity name) and right-click the one that you need to update. Select Edit.
  4. Click "Get Column Information". Now, next to the Complex Type radio button, there is a Update button. Press this to update your complex type and then press the OK button.

That should do it!

疧_╮線 2024-11-13 15:17:14

有一种更简单的方法可以实现这一点,请查看此处 SO。它向存储过程添加一些元信息,EF 使用这些信息为您生成适当的返回类型。

存储过程的元信息部分不会被执行,它只是告诉它返回哪些列和数据类型。

There is an easier way to achieve that, look here at SO. It adds some meta information to the stored procedure, which the EF uses to generate the appropriate return type for you.

The meta information part of the stored procedure is not executed, it just tells about which columns and datatypes it returns.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文