目标
我想为我的复杂类型获取它们各自的列。
问题
与this answer, by marc_s不同,在(4)(四)部分中,我的复杂类型没有分配给他的数据库列。
举例说明:
在你问之前,我的函数导入是正确的:
那么,我必须做什么?
更新 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/