EF4.1 LINQ,选择所有结果

Rub*_*ini 3 linq entity-framework-4.1

我是LINQ查询和EF的新手,我通常使用MySQL,我无法猜测如何编写非常简单的查询.

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

ZXContainer db = new ZXContainer();
ViewBag.ZXproperties = db.ZXproperties.All();
Run Code Online (Sandbox Code Playgroud)

但是我发现我必须在All(---)中写一些东西.

有人可以指导我,我怎么能这样做?如果有人也有任何好的参考链接,我非常感谢.

doc*_*ess 6

All() 是对集合中所有元素执行的布尔值计算(尽管在到达评估为false的元素时立即返回false),例如,您要确保所有所述ZX属性都将某个字段设置为true :

bool isTrue = db.ZXproperties.All(z => z.SomeFieldName == true);
Run Code Online (Sandbox Code Playgroud)

哪个会成为isTrue真或假.LINQ通常是延迟加载的,所以如果你db.ZXproperties直接调用,你可以按原样访问所有对象,但它并不是你想要的.您可以使用以下命令加载变量赋值中的所有对象.ToList():

ViewBag.ZXproperties = db.ZXproperties.ToList();
Run Code Online (Sandbox Code Playgroud)

或者您可以使用以下表达式:

ViewBag.ZXproperties = from s in db.ZXproperties
                       select s;
Run Code Online (Sandbox Code Playgroud)

这与说:

ViewBag.ZXproperties = db.ZXproperties;
Run Code Online (Sandbox Code Playgroud)

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