Entity Framework Core 使用 Language-Integrated 查询(LINQ)从数据库查询数据。 LINQ 允许使用 C# (或所选的 .NET 语言)编写强类型查询。 它使用派生的上下文和实体类来引用数据库对象。 EF Core 将 LINQ 查询的表示形式传递给数据库提供程序。 数据库提供程序反过来将其转换为特定于数据库的查询语言(例如关系数据库的 SQL)。 即使结果中返回的实体已存在于上下文中,也会始终对数据库执行查询。
小窍门
可以在 GitHub 上查看本文 的示例 。
以下代码片段演示了如何使用 Entity Framework Core 实现常见任务的几个示例。
加载所有数据
using (var context = new BloggingContext())
{
var blogs = await context.Blogs.ToListAsync();
}
加载单个实体
using (var context = new BloggingContext())
{
var blog = await context.Blogs
.SingleAsync(b => b.BlogId == 1);
}
筛选
using (var context = new BloggingContext())
{
var blogs = await context.Blogs
.Where(b => b.Url.Contains("dotnet"))
.ToListAsync();
}
延伸阅读
- 详细了解 LINQ 查询表达式
- 有关如何在 EF Core 中处理查询的更多详细信息,请参阅 查询的工作原理。