0
我有一個問題,同時根據參數執行不同的結果集。 我有exec的參數的基礎上,兩個查詢一個SP,這兩個查詢執行一次例如:存儲過程動態sql在實體框架4.1
CREATE PROCEDURE [dbo].[ShowMessages]
@context int,
AS
BEGIN
--CALENDAR ADMIN QUEUE
if @context = 1
BEGIN
Select CustomerName, CustomerAddress from Customer
END
ELSE if @queueContext = 2 OR @queueContext = 6
BEGIN
Select EmployeeName, EmployeeAddress from Employee
END
END
=== 我和複雜類型映射是:EF產生複雜類型兩個字段CustomerName
,CustomerAddress
。 EF引發錯誤IDataReader
。但是這個錯誤很少發生,即使我通過第一個查詢來調用。
我該如何實現此功能?
感謝您的快速反應,但對我來說,有建築的義務,是否有任何固體證明它不可能? – 2012-04-09 08:59:01
很少發生此錯誤。如果我@context = 1總是。 – 2012-04-09 09:05:28
沒有證據需要。 EF在設計時將結果集中的列名映射到複雜類型的屬性名稱,並且只有一組映射是可能的。所以你可以映射第一個或第二個查詢,但不能同時映射。對查詢中的列使用相同的名稱,或使用兩個不同的SP並根據上下文值調用它們。 – 2012-04-09 09:13:53