该函数的参数具有数据类型“表类型”,目标.NET Framework不支持该参数。该功能被排除在外

时间:2015-04-23 05:52:55

标签: c# entity-framework visual-studio-2010 sql-server-2008

我试图通过Entity Framework传递表值参数。我知道当我在Entity Framework中导入存储过程时,它给了我警告

“警告1错误6005:该函数的参数具有数据类型'表类型',目前 实体框架 版本目前不支持该类型。功能被排除在外。“

但是导入的存储过程仍然正常。我在VS2013和Entity Framework 5.0中做到了这一点。现在我试图在VS2012中的Team Foundation Server中执行相同的操作。它向我展示了类似的警告,唯一的区别是像

该函数的参数具有数据类型“表类型”,目前 .NET Framework 版本目前不支持该类型。该职能被排除在外。

这次特定存储过程未导入且未列出。任何人都可以向我解释为什么会发生这种情况以及我如何解决它?

2 个答案:

答案 0 :(得分:1)

距离在这里提出问题已有很长时间了。 但这可能会帮助遇到相同问题的任何人。 在我们的项目中,我在多个情况下都遇到了相同的错误消息,但是在我们的情况下,它与SP或EF版本的参数无关,但是与在.csdl,.msdl和.ssdl文件中的多余条目有关英孚从数据库中删除一些SP并使用EF对话框更新模型后,EF并未删除上述文件中的所有SP条目和SP_Result条目。使用模型浏览器从“复杂类型”和“功能导入”文件夹中手动删除它们后,错误(6005)对我消失了。

答案 1 :(得分:0)

我还没有在VS2012中解决这个问题,但是通过使用逗号分隔值而不是表值参数到我的存储过程来解决它,并创建了一个拆分字符串函数,以便在参考此链接时将值插入表中http:// stackoverflow.com/questions/14811316/separate-comma-separated-values-and-store-in-table-in-sql-server

仍然想知道如何将表值参数传递给VS2012。