繁体   English   中英

使用WCF和LINQ to SQL调用参数化存储过程

[英]Calling a parameterized stored procedure using WCF and LINQ to SQL

如何从WCF服务中调用参数化存储过程usp_Get_Products 我尝试在不使用任何参数的情况下调用它可以正常工作,但是我不知道如何从About.xaml.cs文件About.xaml.cs textbox值作为参数About.xaml.cs

Service.svc.cs文件

public List<Product> GetProducts()
{
  ProductDataClassDataContext db = new ProductDataClassDataContext();
  var products = db.usp_Get_Products();
  return products.ToList();
}

视图/About.xaml.cs文件

private void OnSearchProductClick(object sender, RoutedEventArgs e)
{
  ServiceReference1.Service1Client webService = new ServiceReference1.Service1Client();
  webService.GetProductsCompleted += new EventHandler<GetProductsCompletedEventArgs>(webService_GetProductsCompleted);
  webService.GetProductsAsync();
  txtblcName.Text = txtName.Text;   //Send this as parameter to usp_Get_Products
}

public void webService_GetProductsCompleted(object sender, ServiceReference1.GetProductsCompletedEventArgs e)
{
  ProductGrid.ItemsSource = e.Result; //Binding Datagrid 
}

调用存储过程时,如何从xaml.cs文件中发送txtName.Text作为参数? 我知道我缺少一些概念,我是WCF的新手,而且我从未从事过Silverlight。

您确定存储过程接受参数吗? 您也可以发布您的ProductDataClassDataContext。 理想情况下,您应该修改服务合同以接受参数,如果您不想这样做,可以对产品列表进行过滤,例如

    var products = await webService.GetProductsAsync();
    var filteredProduct = products.Where(item=> item.Name == txtName.Text);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM