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