这是一个小的细节,如果我们在LINQ TO SQL中动态执行存储过程,而且它带有参数的话,应该按照下面的方法进行
1. 存储过程
ALTER PROCEDURE dbo.GetCustomerByCountry
(@country NVARCHAR(50))
AS
/* SET NOCOUNT ON */
SELECT * FROM Customers WHERE Country=@Country
2. 代码
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
NorthwindDataContext db = new NorthwindDataContext();
db.Log = Console.Out;
var query = db.ExecuteQuery
(
"EXEC GetCustomerByCountry @country={0}",
"USA");
foreach (var item
in query)
{
Console.WriteLine(item.CustomerID);
}
}
}
}
3. 结果