【问题标题】:EF Code First Object Context Cant find Stored Procedure at ExecuteFunctionEF Code First 对象上下文在 ExecuteFunction 找不到存储过程
【发布时间】:2012-04-27 12:31:29
【问题描述】:

我首先在 MySQL 数据库中使用 EF 4.3 Code。我在服务器上执行存储过程时遇到问题。代码如下:

ExecuteFunction<SomeResultType>("StoredProcName",parameter1)

我收到错误在容器“CodeFirstContainer”中找不到 FunctionImport“StoredProcName”。

我尝试将名称命名为 CodeFirstContainer.StoredProcName 但没有运气。有人知道这个问题吗?

谢谢,

【问题讨论】:

标签: mysql entity-framework stored-procedures ef-code-first


【解决方案1】:

您是否已将存储过程导入到您的 EDMX 并为其创建了函数导入? ExecuteFunction 依赖于 EDMX 和函数导入。如果您使用代码优先,则无法使用它。您必须在 ObjectContext 实例上使用 ExecuteStoreQuery / ExecuteStoreCommand 或在可通过 DbContext 实例访问的数据库实例上使用 SqlQuery / ExecuteSqlCommand。

【讨论】:

  • 不。我通过纯代码做到这一点。没有 edmx 文件参与其中。我已经有纯实体(POCO)代码以这种方式工作......那为什么不这样呢?无论如何,就像你说的那样,如果我先使用代码,我就不能使用它..
  • 在这种情况下,请按照我的回答的第二部分。
  • 我已经尝试过了,但它抛出“只能存储 MySqlParameter 对象”。有什么想法吗?
  • 我现在开始工作了。它是 Mysql .NET 连接器中的一个错误。我已经升级到 MySql .NET 连接器版本 6.5.4,它工作正常..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多