c# mvc中的Find

来源:互联网 发布:mysql快照 编辑:程序博客网 时间:2024/05/01 07:28

最近在做项目的时候遇到这样一个需求:

 

我从数据库中取出了一组列表ListA,现在想要从该列表ListA中取出其子列表ListB。ListB满足一定的条件。

 

然后再从ListB中取出满足指定条件的一个实体Entity。

 

第一次遇到,感觉似乎从数据库中直接取子集合不好,会调用N多次数据库。那怎么办呢?

 

翻看List的VS编辑器提示选项,发现有个FindAll的方法,似乎是返回子集合的。Find方法返回单个对象。

 

就试着用了下,唉,发现还真是那么回事。

 

大致步骤是这样的:

 

                       ……取出ListA代码……             ------》ListA(假设为entityA的list的父list)

 

 

foreach(EntityN entityN in entityNList)

 {

       ……具体其他操作……

       List<EntityA> ListB= ListA.FindAll(

(EntityA entity) => { return entity.某个条件 == entityN .某个条件;}

).ToList<EntityA>();         

                                                                                 ------》ListB(假设为ListB,我们要的子list)

……具体其他操作……

 

EntityA entityA ListB.Find((EntityA entitya) => { return 某个需要满足的布尔值条件; });

 

                                                                                 ------》entityA(假设为entityA ,我们要的最终单个对象)

……具体其他操作……

}

 

 

好了,基本就是上面的格式。

 

要注意的是 “{”  “}” 内放的是return语句,最后要用一个分号“:”结束。