[英]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.