簡體   English   中英

具有讀取存儲過程的實體框架

[英]Entity Framework With Read Stored Procedure

我正在為項目使用EF 6,但我是EF的新手。 對於這個特定項目,我們盡可能使用現有的數據庫和存儲過程。 我有一個存儲過程所帶來的數據列比模型多。 我們已經解決了使用該存儲過程的問題,但是現在已經再次請求了它返回的數據。 我不確定實現此目標的最佳方法,所以我在這里尋求幫助。

這是我的存儲過程:

CREATE Procedure dbo.procGetMainInvoices
  @Division CHAR(5),
  @CustNum  CHAR(6)
AS
SELECT  i.InvoiceNumber,
        i.Division,
        i.CustomerNumber,
        i.InvoiceType,
        i.InvoiceDate,
        i.DueDate,
        i.AmountDue,
        (SELECT COUNT(trn.InvoiceNumber)
         FROM   Invoice trn
         WHERE  trn.InvoiceNumber = i.InvoiceNumber
         AND    trn.Division = i.Division
         AND    trn.CustomerNumber = i.CustomerNumber) as TransactionCount
FROM    Invoice i
WHERE   i.Division = @Division
AND     i.CustomerNumber = @CustNum
AND     i.InvoiceStatus = 'O'
AND     i.ItemSequence = 0
AND     i.ItemLine = 0
ORDER BY i.InvoiceDate,
         i.InvoiceNumber

如您所見,最后選擇的一列是一個計數。 我需要將這些數據添加到我現有的發票模型中。 我需要高效地完成它,因為我一次可以讀取數百或數千條記錄。

我通過將存儲過程轉換為視圖來完成這項工作。 然后將我的DBContext綁定到視圖。 我必須創建一個新模型,其中包括視圖中的字段,但這確實為我提供了所需的靈活性,以便能夠將我的結果過濾到與存儲過程相同的程度。

暫無
暫無

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

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