c# - Entity Framework 未获取复杂类型的列

标签 c# mysql entity-framework stored-procedures

目标

我想为我的复杂类型获取它们各自的列。

问题

this answer, by marc_s不同,在(4)(四)部分中,我的复杂类型没有分配给他的数据库列。

举例说明:

Example

在你问之前,我的函数导入是正确的:

Example 2

那么,我必须做什么?

更新 1

我尝试手动将属性添加到我的复杂类型中,但这是最好的方法?

更新2

我想自动将标量属性添加到我的复杂类型中 - 就像我之前发布的示例一样。

最佳答案

@chiefGui 我不太明白你的问题,但是当你点击“获取列信息”按钮时,你似乎没有得到任何列。

如果是这个问题,您可以通过在程序中添加命令来解决它。

输入这样的命令。

ALTER PROC ProcName  /* ([,parameters] ) */
AS
BEGIN
    /* this command you make the difference */
    SET FMTONLY OFF

    /* other code here */
END

将其放在程序内部的第一行。从 EDMX 中删除该过程,重新添加并再次尝试导入。您将获得过程返回的所有列。所以一步一步来会很有效。

如果这不是您想要的答案,请添加评论,以便我可以帮助您。

已编辑

发生这种情况是因为 EF 尝试获取列标题而不获取结果数据。如果您的过程具有较高的复杂性,并且您的代码设置为在运行前检查结构,则 EF 将只能获取信息。

关于c# - Entity Framework 未获取复杂类型的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17087561/

相关文章:

c# - 如何通过字符串调用 Controller 和 View 作为 ActionResult 的结果?

c# - 如何使用像字典 <string,Type> 这样的强类型将字符串关联到类

mysql - 从 SQL 到 MySQL 的查询

mysql - 使用 Identity 从同一数据库检索数据

c# - 无法使正则表达式与多行一起正常工作

c# - 如何检测我的网站是否通过主机文件或应用程序中继

c# - Entity Framework Code-First 启动时太慢

c# - 在处置 DbContext 时使用 EntityFramework 导航属性

MySQL 跨两个表进行搜索

php - 如何在 PHP 和 MySQL 中合并 2 个表?