从wcf dataservice获取特定(名称)值

时间:2014-02-26 16:56:23

标签: c# wcf var dataservice

我想获得我在gridview中选择的产品名称。 我有一个索引号,我可以在我的数据库中进行比较,但我不能选择属于该索引号的项的名称。

ServiceReference1.ProductContext ctx = new ServiceReference1.ProductContext(new Uri("http://SERVER:5000/WcfDataService1.svc/"));

DbList = ctx.Products;
int index = ProductsList.SelectedIndex;

string name = DbList.XXXXXXX  // -> ?????????

我尝试过的所有内容都以异常结束。有任何想法如何获得产品名称?

先谢谢。

3 个答案:

答案 0 :(得分:2)

类似的东西(这是空气代码所以可能不对):

Product product = DBList.Where<Product>((p) => p.Id == index);

这假定DBList是类型产品的列表,并且Product具有与您正在寻找的索引匹配的Id属性。

然后你可以做

string name = product.Name;
等等等。

答案 1 :(得分:1)

你可以吗

Product myProduct = ctx.Products.Find(index);
string name = myProduct.Name;

我不确定此方法是否应用于DataService上下文。

编辑:我在想Entity Framework / ApplicationDBContext。我认为rcl的simon有linq的答案。

答案 2 :(得分:0)

在rcl和LaMMMy的simon帮助我朝着正确的方向前进。谢谢!

所以我对这个问题的解决方案是:

ServiceReference1.Product product = (ServiceReference1.Product)this.ProductsList.Items[productIndex];
string name = product.Name;