小编Soo*_*ony的帖子

使用First()获取LINQ结果的第二项?

我是Linq和EntityFramework的新手.这是我在学习时遇到的示例程序.

表中的数据如下:

BlogId  Title
1       Hello Blog
2       New Blog
3       New Blog
Run Code Online (Sandbox Code Playgroud)

我有以下Linq代码,试图读取第一个博客ID(预计为2):

var name = "New Blog";
var blogs = (from b in db.Blogs
                where b.Title == name
                orderby b.Title
                select b);//.ToList();

Console.Write("The first id: ");
Console.WriteLine(blogs.First().BlogId);
Run Code Online (Sandbox Code Playgroud)

结果是3.

然后我使用ToList():

var blogs = (from b in db.Blogs
                where b.Title == name
                orderby b.Title
                select b).ToList();
Console.Write("The first id: ");
Console.WriteLine(blogs.First().BlogId);
Run Code Online (Sandbox Code Playgroud)

结果是2.

任何人都可以帮忙解释一下吗?或者这是一个错误?

谢谢.

//////////////////////// 更新 ///////////////////////// ////

我刚刚删除了数据库中的数据并插入了一些新项目.现在表格是这样的:

BlogId  Title
5       New Blog
6       New Blog
7 …
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework

1
推荐指数
1
解决办法
941
查看次数

标签 统计

c# ×1

entity-framework ×1

linq ×1