gpt4 book ai didi

linq - EF4.1 LINQ,选择所有结果

转载 作者:行者123 更新时间:2023-12-01 10:08:39 25 4
gpt4 key购买 nike

我是 LINQ 查询和 EF 的新手,我通常使用 MySQL,我猜不出如何编写真正简单的查询。

我想从表格中选择所有结果。所以,我这样使用:

ZXContainer db = new ZXContainer();
ViewBag.ZXproperties = db.ZXproperties.All();

但我看到我必须在 All(---) 中写一些东西。

有人可以指导我如何做到这一点吗?如果有人也有任何好的引用链接,我将非常感谢。

最佳答案

All() 是对集合中的所有元素执行的 bool 值评估(尽管当它到达评估为 false 的元素时立即返回 false),例如,您想要确保所有上述 ZXproperties 都将某个字段设置为 true:

bool isTrue = db.ZXproperties.All(z => z.SomeFieldName == true);

这将使 isTrue 为真或为假。 LINQ 通常是延迟加载的,因此如果您直接调用 db.ZXproperties,您可以按原样访问所有对象,但这并不是您要查找的内容。您可以使用 .ToList() 加载变量赋值处的所有对象:

ViewBag.ZXproperties = db.ZXproperties.ToList();

或者你可以使用下面的表达式:

ViewBag.ZXproperties = from s in db.ZXproperties
select s;

这实际上与说:

ViewBag.ZXproperties = db.ZXproperties;

.ToList() 的优点是,如果您想要对此 ViewBag.ZXproperties 进行多次调用,它只需要在分配变量时进行初始数据库调用。或者,如果您对数据执行任何形式的可查询操作,例如 .Where(),您将执行另一个查询,如果您已经有要使用的数据,这不太理想.

关于linq - EF4.1 LINQ,选择所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8029568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com