c# - 不支持 MySql EF 6 存储过程导入函数 EDM 类型

标签 c# mysql entity-framework stored-procedures

我是 MySQL 和 Entity Framework 的新手,在将存储过程导入 edmx 文件时遇到了一个问题。在下图中,您可以看到 EDM 类型列列出了我从 SP 返回的所有列,这些列被列为“不支持”。如果我继续并在窗口中单击“确定”,它将生成 Complex 类型类;但是,类文件中将没有任何属性。

有办法解决这个问题吗?我有谷歌和搜索堆栈溢出相当多。我读过的唯一解决方案是手动生成类文件并手动调用 SP,或者手动修改 edmx 文件。

Not Supported EDM Types

最佳答案

似乎是这里提到的问题 http://bugs.mysql.com/bug.php?id=79180就在一周前。

我直接手动编辑 edmx,将属性添加到自动生成的 ComplexType,并在自动生成的 FunctionImportMapping 部分的返回映射中添加 ScalarProperties。

完成这些手动编辑后,我现在可以使用标准 EF 模型调用我的 SP,我得到所有返回的行和列(下面的示例现在对我有效,在手动更改 edmx 文件之前,所有我回来的是列表中的空对象 - 每行返回一个对象 - 没有数据)

        using (var context = new therinksEntities())
        {

            ObjectResult<getGLDistSection_Result> rdrs =  context.getGLDistSection("AIM", "Deferred", "2015-07-01", "2015-09-30");
            int i = 0;
            foreach (getGLDistSection_Result result in rdrs)
            {

                NonBlockingConsole.WriteLine(i++ + ":" +  
                    result.glaccount + ":" +
                    result.posteddate + ":" +
                    result.customername + ":" +
                    result.category + ":" +
                    result.description + ":" +
                    result.debit + ":" +
                    result.credit + ":" +
                    result.balance);
            }
        }

我正在使用 VS 2015 和包 - EF 6.1.3、MySql.Data 6.9.8、MySql.Data.Entit 6.9.8 MySql 数据库版本 MySql 5.5.46-log

如果需要使用许多 SP,这是一个痛苦的解决方法。但是,通过修改 edmx 并保存和验证......所有正确的代码都与属性一起生成 - 因此无需创建手动类或其他属性。

关于c# - 不支持 MySql EF 6 存储过程导入函数 EDM 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34046527/

相关文章:

c# - EF BulkInsert 未在 Task.Run() 中触发

c# - 如何使用 Linq 从一系列的 3 个表中进行选择?

c# - 动态对象的 Lambda 表达式

c# - 创建现有程序集/模块的动态副本

java - com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException : Column 'ID_category' cannot be null

mysql - 当id自动生成时,如何使用 Entity Framework 核心插入数据?

c# - Unity 引擎 WaitForSeconds 是如何工作的?

c# - 引用组合框中的值时 LINQ 查询出错

mysql - MySQL 间隔查询返回 0 或 NULL

php - 使用唯一数据对多个表中的 MySQL SELECT 数据进行排序