我有几个存储过程,当添加到我的 dbml 时,似乎在幕后 LINQ 无法解释结果集,只会将结果映射为 int。然后我必须自己创建结果类,这很痛苦,但每次添加到我的 dbml 时我都必须去更改设计器文件,因为它会重新加载它并将结果映射回每个那些的 int存储过程。
这是我的存储过程的问题,LINQ 无法解释,然后为我创建结果类。或者这是LINQ的问题?
最佳答案
您是否在 sproc 中使用临时表?这会导致问题(问题实际上是 SQL 的)。这是一个 blog post关于它,解决方案是在将sproc添加到DBML的同时临时替换sproc。
不幸的是,我认为没有更好的解决方案......
编辑:Here其他人有同样的问题,但解决方案略有不同。
再次编辑:Here是一个更好的解释和解决方案,不涉及在完成后更换 sproc;它确实在 sproc 中包含了额外的代码来检测何时设置了 FMTONLY 并暂时禁用它。好主意,我将来可能会尝试。
关于.net - 存储过程和 LINQ、Dbml 文件无法解释结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/521736/