0
我新的存儲過程。我創建了以下簡單的存儲過程:存儲過程 - LINQ到實體 - 支持加入(包括()equivelant)
USE db
GO
CREATE PROCEDURE dbo.GetSearchResults
@BatchId NVARCHAR(20)
AS
SELECT * FROM dbo.SearchResult sr
LEFT OUTER JOIN dbo.SearchResultItem sri ON sri.SearchResultID = sr.SearchResultID
WHERE sr.BatchID = @BatchId AND (sri.Name = 'sales_rank' OR sri.Name = 'sale_price' OR sri.Name = 'list_price')
GO
我目前調用我的C#應用此存儲過程如下:
public List<SearchResult> GetSearchResult(string batchId, ModelContainer ctn)
{
var parameters = new object[] { new SqlParameter("@BatchId", batchId)};
List<SearchResult> searchResults = ctn.ExecuteStoreQuery<SearchResult>("exec GetSearchResults @BatchId", parameters).ToList();
return searchResults;
}
這是偉大的,但我唯一的問題是,它不加載SearchResultItem(child)表,我也需要它(請參閱存儲過程中的左外連接)。
在我的EDMX模型中,在函數導入部分,我已經嘗試設置存儲過程返回「複雜」和「實體」的集合。這些都沒有奏效。
誰能提供任何意見?
編輯 - 使用實體框架4.0