LINQ TO SQL:动态执行带有有参数的存储过程

这是一个小的细节,如果我们在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. 结果

LINQ TO SQL:动态执行带有有参数的存储过程_第1张图片

你可能感兴趣的:(LINQ TO SQL:动态执行带有有参数的存储过程)