-2

我有一堂课:

public class BigClass
{
    public int Id { get; set; }
    public string Name { get; set; }
    ...
    public List<LittleClass> LittleClassList { get; set; }
}

是否可以在一个请求中将其实例列表返回给数据库?这种方法调用了许多对数据库的请求:

List<BigClass> data = context.Table1_Name ...

foreach(var item in data)
{
    item.LittleClassList = context.Table2_Name ...
}

首选 Lambda 语法。谢谢你。

4

2 回答 2

1
from big in context.TableA
from little in big.LittleClassList
select little;

并以扩展格式

Context.TableA.Where(...).SelectMany(x=>x.LittleClassList);
于 2013-02-21T05:52:23.757 回答
-1
   List<LittleClass> littleClassesOfListBigClasses = new List<LittleClass>();

   context.BigClass.ToList().ForEach(e=>littleClassesOfListBigClasses.AddRange(e.LittleClassList));

专为Dave A.

我认为 OP 想要的是:他想LittleClass通过一个 lambda 表达式获取存储在 db 中的所有 es。

关于我的代码如何工作的说明:

1)我使用EF(实体框架)。如果你不知道它是什么,你可以 在这里阅读信息。在这个问题中,我看到 OP 知道什么是 EF 以及如何使用它,所以我觉得不需要解释。2)我BigClass从数据库中的表中获取所有数据并将其作为 List(在 1 个查询中) 3)我使用 ForEach(来自 Linq)遍历返回的BigClass列表并将所有LittleClasses 添加到littleClassesOfListBigClasses

还请注意,您可以在Where之前添加 toToList以获取存储在BigClass表中的并非所有数据,而只是一部分,它看起来像这样:

context.BigClass.Where(some lambda-expression).ToList()

所以我的答案现在很清楚了吗?

于 2013-02-15T10:12:56.933 回答