从“RoomLayerBuilding”实体集筛选数据,将筛选出的数据转入“ListMenuCatalog”和“ListMenuSubitem”集合中。1、“RoomLayerBuilding”实体集为元数据实体集,数据如下图(各个数据库字段为“RoomLayerBuilding”属性):
2、“ListMenuCatalog”中的一个属性,由“ListMenuSubitem”定义。
public class ListMenuCatalog : INotifyPropertyChanged
{
public String CatalogName
public ListMenuSubitem SubitemName
}3、“ListMenuSubitem”
public class ListMenuSubitem : INotifyPropertyChanged
{
public String DpItemName
public String DpItemTag
}
问题:现在想写一个方法,如下,
public List<ListMenuCatalog> GetRoomLayerBuildingLists()
{
//实例化“ListMenuCatalog”对象集合
List<ListMenuCatalog> listmenucatalogs = new List<ListMenuCatalog>();
//获取“RoomLayerBuilding”对象集合,这个对象集合已经由“DataTable”填充
List<RoomLayerBuilding> roomlayerbuildings = this.GetRoomLayerBuildingDatas();
//var listbybuilding = roomlayerbuildings.Distinct(r => r.BuildingNo).ToList();
//var listbybuilding = (from lb in roomlayerbuildings select roomlayerbuildings.BuildingNo).Distinct();
return listmenucatalogs;
}
需求:现在想根据“List<RoomLayerBuilding> roomlayerbuildings”提取数据到“List<ListMenuCatalog> listmenucatalogs”中。规则:
1、从“List<RoomLayerBuilding> roomlayerbuildings”筛选“BuildingNo”不重复的集合,命名为“listcatalogs”。 2、遍历“listcatalogs”,将“BuildingName”属性绑定到“List<ListMenuCatalog> listmenucatalogs”的“CatalogName”属性。 3、同时,根据每条遍历的“listcatalogs”项中的“BuildingNo”,从“List<RoomLayerBuilding> roomlayerbuildings”筛选出结果集。将该结果集的“DpItemName”和“DpItemTag”赋值到“ListMenuCatalog”的“CatalogName”和“SubitemName”,然后新形成的“ListMenuCatalog”结果集。 4、将新形成的“ListMenuCatalog”结果集赋值给“listcatalogs”集合的“SubitemName”属性。这样的方法应该怎样用“Linq to object”实现???
2、“ListMenuCatalog”中的一个属性,由“ListMenuSubitem”定义。
public class ListMenuCatalog : INotifyPropertyChanged
{
public String CatalogName
public ListMenuSubitem SubitemName
}3、“ListMenuSubitem”
public class ListMenuSubitem : INotifyPropertyChanged
{
public String DpItemName
public String DpItemTag
}
问题:现在想写一个方法,如下,
public List<ListMenuCatalog> GetRoomLayerBuildingLists()
{
//实例化“ListMenuCatalog”对象集合
List<ListMenuCatalog> listmenucatalogs = new List<ListMenuCatalog>();
//获取“RoomLayerBuilding”对象集合,这个对象集合已经由“DataTable”填充
List<RoomLayerBuilding> roomlayerbuildings = this.GetRoomLayerBuildingDatas();
//var listbybuilding = roomlayerbuildings.Distinct(r => r.BuildingNo).ToList();
//var listbybuilding = (from lb in roomlayerbuildings select roomlayerbuildings.BuildingNo).Distinct();
return listmenucatalogs;
}
需求:现在想根据“List<RoomLayerBuilding> roomlayerbuildings”提取数据到“List<ListMenuCatalog> listmenucatalogs”中。规则:
1、从“List<RoomLayerBuilding> roomlayerbuildings”筛选“BuildingNo”不重复的集合,命名为“listcatalogs”。 2、遍历“listcatalogs”,将“BuildingName”属性绑定到“List<ListMenuCatalog> listmenucatalogs”的“CatalogName”属性。 3、同时,根据每条遍历的“listcatalogs”项中的“BuildingNo”,从“List<RoomLayerBuilding> roomlayerbuildings”筛选出结果集。将该结果集的“DpItemName”和“DpItemTag”赋值到“ListMenuCatalog”的“CatalogName”和“SubitemName”,然后新形成的“ListMenuCatalog”结果集。 4、将新形成的“ListMenuCatalog”结果集赋值给“listcatalogs”集合的“SubitemName”属性。这样的方法应该怎样用“Linq to object”实现???
解决方案 »
- asp.net+FCK文本编辑器发布问题 求救.
- 救命哪,不知道哪改了一下,gridview不能翻页了!!!
- vs2003中的 DataGrid 点击编辑后 为什么没反应呢》? 不出现 更新 取消
- 数据库字段类型转换问题
- 菜鸟高分询问有关封装与调用的问题
- 放分了 ,工商执照的打印(web 和 form 都可以)
- LoadControl的问题
- 如何让 datagrid 对齐?
- 存储过程的问题!
- 如何在刷新父窗口时执行父窗口里的数据更新代码???
- 我用asp.net做文件上传 在点“开始上传”时在label控件不显示需要的内容?
- 用户能登陆进入sql,但就是说找不到存储过程 这个存储过程又明明存在
{
IEnumerable<User > query =
from n in userList
orderby n.LastName descending , n.FirstName ascending
select n;
return query.ToList<User >();
}
谢谢您,不好意思,昨天有事出去了。测试数据就是这些啊。
这要简单的根据思路写一下就好了,关键是从“List<>”集合中筛选数据。
1. var listcatalogs = from rbl in roomlayerbuildings
group rbl by rbl.BuildingNo into g
where g.Count() == 1
select g.First();2. listmenucatalogs = listmenucatalogs.Join(listcatalogs,
rbl => rbl.BuildingNo, //不太确定是否联接字段
lmc => lmc.BuildingNo,
(rbl, lmc) => { lmc.CatalogName = rbl.BuildingName; return lmc; }).ToList();
这是Linq To SQL对吧,用“Linq to object”呢?
期望:
1、从结果集中筛选出“BuildingNo”不重复的记录。 2、筛选出来的每条记录的“BuildingName”属性用于实例化“ListMenuCatalog”实体集的“CatalogName ”属性。而它的“SubitemName”属性下面说。 3、“ListMenuCatalog”实体集的“SubitemName”属性,要根据其“CatalogName ”属性,从“roomlayerbuildings”(源数据集)中筛选出“RoomNo”和“RoomName”作为“ListMenuSubitem”对象集合,用于实例化“ListMenuCatalog”实体集的“SubitemName”属性。 4、将“ListMenuCatalog”实体集返回。
{
ListMenuCatalog lmc = new ListMenuCatalog();
lmc.CatalogName = item.BuildingName;
}
问题:提示“string”不包含"BuildingName"的定义,为什么???错误信息如下:
错误 1 “string”不包含“BuildingName”的定义,并且找不到可接受类型为“string”的第一个参数的扩展方法“BuildingName”(是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Desktop\DX4.0\Mycems.BLL\RoomLayerBuildingDatas.cs 66 40 Mycems.BLL