时间:2021-07-01 10:21:17 帮助过:5人阅读
lbCategory的select index change事件响应代码如下:
// 方法一:我们使用循环遍历查询结果的集合元素,然后添加到控制中。 //this.lboxProduct.Items.Clear(); //if (this.lboxCategory.SelectedItem != null) //{ // string categoryName = this.lboxCategory.SelectedItem.ToString(); // 这次直接使用CategoryName作筛选条件,需要使用连接(join),因为Product中只包含有CategoryID,而没有CategoryName。 // using (NorthwindEntities context = new NorthwindEntities()) // { // var products = from product in context.Products // join category in context.Categories on product.CategoryID equals category.CategoryID // where category.CategoryName == categoryName // select new { product.ProductName }; // foreach (var p in products) // { // this.lboxProduct.Items.Add(p.ProductName); // } // } //} // 方法二:该方法是指定数据源的方式。不须要用 this.lboxProduct.Items.Clear(); if (this.lboxCategory.SelectedValue != null) { // 得到类别ID号 int categoryID = Convert.ToInt32(this.lboxCategory.SelectedValue.ToString()); // 这次直接使用CategoryID作筛选条件,不需要使用连接(join),因为Product中包含有CategoryID。 using (NorthwindEntities context = new NorthwindEntities()) { var products = from product in context.Products where product.CategoryID == categoryID select new { product.ProductName }; // 注意:给控制指定数据源的时候,对DataSource的赋值语句要在DisplayMember和ValueMember赋值之后, // 否则,DisplayMember和ValueMember的赋值不生效。 this.lboxProduct.DisplayMember = "ProductName"; this.lboxProduct.DataSource = products; } }
Entity Framework4.0 (一)概述(EF4 的Database First方法)
标签: