C#LINQ-to-SQL多选

时间:2009-09-20 18:36:52

标签: c# sql-server linq-to-sql stored-procedures select

我得到了它,它在我的MS SQL 2008数据库中调用SP:

[Function(Name = "dbo.Content_GetContent")]
    [ResultType(typeof(Content_GetContentResult))]
    [ResultType(typeof(Content_GetContentImagesResult))]
    [ResultType(typeof(Content_GetContentBoxesResult))]
    [ResultType(typeof(Content_GetContentSearchWordsResult))]
    public IMultipleResults GetContent([Parameter(DbType = "INT")]int? contentID)
    {
        IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), contentID);
        return ((IMultipleResults)(result.ReturnValue));
    }

但我遇到了2个问题,并非每个表都可能返回结果,如果提供的contentID不正确(不是有效的内容编号),则会失败并产生以下错误: “为函数'GetContent'声明的多个结果类型不会返回IMultipleResults。”

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

是否可以更改存储过程,以便在提供错误的contentID时返回空表? (而不是回复一条消息或者它现在做的任何事情)

如果您的存储过程不能保证每次都返回相同数量的表,那么您将花费一些时间来确定返回哪些表...