VS 2010 - 带有 MySql 存储过程的实体框架似乎不起作用

发布于 2024-12-09 04:33:37 字数 391 浏览 0 评论 0原文

我想使用实体框架(edmx 文件)和 MySql 数据库。对于表和视图,VS 2010 工作得很好,也就是说,它可以很好地生成模型类、csdl、ssdl 等文件。但是,对于存储过程来说它不起作用。发生的情况如下:

  1. 在模型浏览器中右键单击 SP,选择 [添加函数导入]。这将打开一个对话框,
  2. 填写适当的值,例如函数导入名称、存储过程名称
  3. 单击[获取列信息]。这会导致该按钮底部填充一些网格。在网格中,有一个名为 [EDM Type] 的列。由于某些未知原因,此列显示[不支持]:(
  4. 现在,单击[创建新复杂类型]。这一切正常,没有错误
  5. ,单击确定按钮

完成上述所有步骤后,在中没有创建复杂类型但是代码是什么,

有人可以帮忙吗?

I want to work with Entity Framework (edmx file) and MySql database. For tables and views, VS 2010 works fine, that said, it can generate Model classes, csdl, ssdl etc files well. But, for stored procedures it doesn't work. Here is what happens..

  1. Right clicked on an SP from Model Browser, select [Add Function Import]. This opened a dialog box
  2. Filled appropriate values like, Function Import Name, Stored Procedure Name
  3. Click on [Get Column Information]. This results into some Grid filled up at the bottom of this button. In the grid, there is a column named [EDM Type]. This column shows [Not supported] due to some unknown reason :(
  4. Now, clicked on [Create New Complex Type]. This goes OK, without Error
  5. Now, clicked on OK button

After doing all above steps, there is no Complex Type created in the code however, which is the problem.

Can anyone please help?

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

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

发布评论

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

评论(1

千里故人稀 2024-12-16 04:33:37

我通过让实体框架创建无参数定义和关联,然后手动将参数添加到 xml 和 xml 文件来“解决”这个问题。生成的cs文件。

      public virtual ObjectResult<Nullable<int>> <stored_procedure>(DateTime date1, DateTime date2)
    {
        ObjectParameter[] parameters = { new ObjectParameter("parametertName1",  date1)
                                              , new ObjectParameter("parametertName1",  date2)
                                              };

        return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<int>>("stored_procedure", parameters);
    }

另外,MySQL 实体框架 4.0 存储过程字段映射解释更多

I 'solved' this by lettting Entity Framework create the paramerterless definition and associations and then manually added the parameters to the xml & generated cs file.

      public virtual ObjectResult<Nullable<int>> <stored_procedure>(DateTime date1, DateTime date2)
    {
        ObjectParameter[] parameters = { new ObjectParameter("parametertName1",  date1)
                                              , new ObjectParameter("parametertName1",  date2)
                                              };

        return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<int>>("stored_procedure", parameters);
    }

also, MySQL Entity Framework 4.0 Stored Procedure Field Mapping explains more

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