簡體   English   中英

LINQ to SQL存儲過程在Visual Studio 2008中具有多個結果

[英]LINQ to SQL stored procedures with multiple results in Visual Studio 2008

我正在使用Visual Studio 2008,並且創建了一個存儲過程,該存儲過程選擇了兩個不同的結果集。 我將存儲的proc拖到linq到sql dbml datacontext類上,導致Visual Studio在CS文件中創建以下代碼:

[Function(Name="dbo.List_MultiSelect")]
public ISingleResult<DataAccessLayer.DataEntities.List_MultiSelectResult> List_MultiSelect()
{
    IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())));
    return ((ISingleResult<DataAccessLayer.DataEntities.List_MultiSelectResult>)(result.ReturnValue));
}

設計人員是否應該生成使用IMultipleResults的代碼? 還是我必須手工編碼?

使用設計器將返回ISingleResult而使用SqlMetal將生成您期望的IMultipleResult 否則,是的,您可能必須跳到那里直接進行調整。

一種簡單的方法是使用SqlMetal,然后復制/粘貼其生成的代碼。 請記住,將其粘貼到設計器代碼中可能並不理想,因為隨后的代碼生成將覆蓋它。 也許您可以將相關代碼移至部分類,以避免出現此問題。

我在這里的詳細解答解決了這個問題: SqlMetal錯誤地生成了我的存儲過程(LINQ)的返回類型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM