2011-08-04 55 views
2

我寫了一個存儲過程是這樣的:返回從LINQ存儲過程的兩個表到SQL

CREATE PROCEDURE [dbo].[TestProcedure] 
AS 
BEGIN 
SELECT TOP 1 CampaignID FROM Campaigns 
SELECT TOP 1 ServiceID FROM Services ORDER BY ServiceID desc 
END 

在我的.NET項目,我有一個LINQ to SQL的文件(.dbml),我有阻力-and-降至此過程創建一個新的類TestProcedureResult

Partial Public Class TestProcedureResult 

     Private _CampaignID As Integer 

     Public Sub New() 
      MyBase.New 
     End Sub 

     <Column(Storage:="_CampaignID", DbType:="Int NOT NULL")> _ 
     Public Property CampaignID() As Integer 
      Get 
       Return Me._CampaignID 
      End Get 
      Set 
       If ((Me._CampaignID = value) _ 
          = false) Then 
        Me._CampaignID = value 
       End If 
      End Set 
     End Property 
    End Class 

所以沒有返回ServiceID。如何使用LINQ to SQL來檢索ServiceID? 我知道我們可以自定義存儲過程調用,但是如何在這個特定場景中自定義呢?

+0

我知道的LINQ SQL可與USPS應付,但它仍然是在一天的ORM的結束,而這意味簡單ADO.net的。 – BonyT

+0

感謝bony.i知道在ado.net中非常簡單,但我想知道我們將如何做到LINQ到SQL,我怎麼能在.net中捕獲這個結果? – Avinash

+0

你讓生活變得艱難,沒有明顯的好處 - 這不是ORM的設計目的。如果你想使用Linq-to SQL,你應該通過Campaign和Service實體,而不是使用usp。如果你想使用usp,那麼它會更高效,更易於閱讀,並且更好地使用ADO.net。 – BonyT

回答