我有一个存储过程,可以对参数进行验证
离。
IF @SearchType = 'BNa'
BEGIN
... DO something
END
ELSE IF @SearchType = 'SNa'
BEGIN
... DO something
END
因此,默认情况下,Stored Proc会返回一个标量值,如果SearchType =有效,它将返回一个IMultipleValues。
问题在于,当我将Stored Proc放在DataContext设计器中时,它会为只返回标量int的函数创建LINQ-to-SQL。它不知道Strored Proc可以返回带有标量值和DataSet的IMultipleResults。
任何人都知道如何使用LINQ-to-SQL来推断可能的返回值?
答案 0 :(得分:0)
我无法直接回答您的问题,但是您是否尝试使用SQL事件探查器来确定设计器如何检索存储过程的元数据?
我认为在您的情况下,设计师可能无法为您解决问题。 SQL Profiler会让你明白这一点......无论如何...
我在使用SqlMetal(而不是设计师)方面有过非常积极的体验。为了节省您,Google搜索文档位于http://msdn.microsoft.com/en-us/library/bb386987.aspx。
您可以使用SqlMetal的方法之一是:
使用此方法,您可以更正用于存储过程的元数据(假设无法正确确定)。
对我来说,这种方法的成功之处在于,您可以随时修改数据库,并轻松地重新生成匹配的强类型代码,同时仍然保持对生成内容的高度控制。