2012-05-31 50 views
0

我收到錯誤而我使用LINQ如何使用LINQ

下面

傳遞兩個變量值存儲過程是如何我已經使用到變量傳遞給LINQ

Customer objCustomer = DbContext.ExecuteStoreQuery<Customer> 
       ("exec getCustomerDetails {0}{1}", CustomerId, OrderId).AsQueryable().ToList(); 

通過兩個變量值下面是我的存儲過程

create procedure getCustomerDetails 
@CustomerId int, 
@OrderId int 
as 
select * from customer c 
where c.CustomerId = @CustomerId and c.OrderId = @OrderId 
以下

的錯誤,我得到

Message = "Must declare the scalar variable \"@[email protected]\"." 

請建議

感謝,

回答

1

進一步什麼成龍曾表示,我認爲這個問題是下降的事實,沒有空間betwe你的參數。嘗試:

("exec getCustomerDetails {0} {1}", CustomerId, OrderId) 

希望這有助於

+0

感謝您的評論我已經把{0},{1},現在它的工作正常 – aamankhaan

+0

aamankhaan - 很高興爲你工作:-) –

0

我認爲你缺少之間的逗號{0}和{1} ...

但是你爲什麼不import the stored procedure into your entity model,這樣就可以調用存儲過程是這樣的:

DbContext.getCustomerDetails(CustomerId, OrderId)

+0

感謝您的評論,但我不希望我的存儲過程移至enity模型......因爲我感到它分配給我的客戶類具有相同的實體我的SQL服務器客戶表 – aamankhaan