gpt4 book ai didi

c# - 存储过程和更新 EDMX

转载 作者:IT王子 更新时间:2023-10-29 03:47:38 24 4
gpt4 key购买 nike

我在存储过程和 EDMX 方面遇到了无穷无尽的问题。我创建了一个程序,从数据库中更新了模型,一切正常。然后我删除了一列并在存储过程中添加了一个新列。我更新了模型,但 EDMX 似乎没有刷新 proc 定义。

我删除了 proc,并进行了更新,但必须手动删除对 proc 的所有引用。我最终只是重命名了 proc 并通过模型更新从数据库导入。

我刚刚遇到了同样的问题。添加了一个新列,并重命名了一个现有列。我通过数据库更新模型刷新了 EDMX,但 EDMX 没有任何变化,显然在运行时,它失败了。应如何使用 Entity Framework 完成存储过程更新?

enter image description here

我删除了 proc,重新生成了模型,删除了 proc 的“cs”文件,编译,然后再次将过程添加到数据库,重新生成了模型,砰!它添加了 3 次相同的模型,只有最后一个是正确的。为什么它一直带回旧版本?

最佳答案

(此解决方案适用于 EF 6。我没有在其他 EF 版本中尝试过。效果很好。)


转到模型浏览器。MyStoreProc 是存储过程的名称(作为示例)。 MyStoreProc 将出现在 3 个地方。

  1. 第一名 - 在复杂类型下 -> 作为 MyStoreProc_result
  2. 第二名 - 在函数导入下 -> 作为 MyStoreProc
  3. 第三名 - 存储不足过程/函数 -> 作为 MyStoreProc

从模型中删除所有三个。保存 edmx(通过在窗口中单击,然后按 ctrl+S)。然后右键单击并单击从数据库更新模型。然后添加更新的存储过程并再次保存。

毫不费力地解决了:)

关于c# - 存储过程和更新 EDMX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18038405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com