当我使用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 \"@p0@p1\"."
请建议
感谢,
答案 0 :(得分:1)
对于jackie所说的内容,我认为问题在于您的参数之间没有空格。试试:
("exec getCustomerDetails {0} {1}", CustomerId, OrderId)
希望这会有所帮助
答案 1 :(得分:0)
我认为你错过了{0}和{1}之间的逗号......
但是你为什么不import the stored procedure into your entity model,所以你可以像这样调用存储过程:
DbContext.getCustomerDetails(CustomerId, OrderId)