Docs 菜单
Docs 主页
/
C# Analyzer
/

分析构建器表达式

构建器是 .NET/C# 驱动程序提供的一个类,可帮助你构建查询和更新等常见操作。

要了解有关构建器的更多信息,请参阅 .NET/C# 驱动程序文档中的构建器操作

使用 C# 分析器将构建器表达式转换为 MongoDB 查询 API。 单击以下标签页可查看构建器表达式及其相应的 MongoDB 查询 API 转换的示例:

var filter = Builders<Book>.Filter.Eq(b => b.Genre, genre) &
Builders<Book>.Filter.Gte(b => b.Price, minPrice) &
Builders<Book>.Filter.Regex(b => b.Title, titleSearchTerm);
{
"$and": [ { "Genre": genre },
{ "Price": { "$gte": minPrice } },
{ "Title": /titleSearchTerm/ } ]
}

注意

变量名称

C# 分析器生成的 MongoDB 查询 API 转换包含 .NET/C# 驱动程序代码中的变量名称。 当您的应用程序与 MongoDB 通信时,.NET/C# 驱动程序会将这些变量名称替换为相应的值。

要在 Visual Studio 中分析构建器表达式,请执行以下操作:

  1. C# Analyzer按照 安装 指南中的说明安装 。

  2. 使用 .NET/C# 驱动程序编写构建器表达式

  3. 将鼠标移到构建器表达式的第一个方法下方的 ...注解上,以显示一条包含 MongoDB Query API 转换的信息消息。

单击以下相应标签页可查看显示或未显示信息消息的构建器表达式:

Visual Studio 中带有省略号注释的构建器表达式的屏幕截图。
生成器表达式的屏幕截图,其中包含 Visual Studio 中显示的信息消息。

C# AnalyzerC#分析器支持构建器变量跟踪和组合。您可以使用逻辑运算符 组合多个构建器表达式,并在信息消息中查看MongoDB Query API转换。

单击以下相应标签页可查看显示或不显示信息消息的组合构建器变量:

Visual Studio 中带有省略号注释的生成器变量的屏幕截图。
构建器变量的屏幕截图,其中包含 Visual Studio 中显示的信息消息。

C# 分析器使用 .NET/C# 驱动程序中的构建器类支持 Fluent API。 您可以创建一系列链式构建器方法,并在信息消息中查看 MongoDB 查询 API 转换。

单击以下相应标签页,查看使用链式构建器方法的操作,显示或不显示信息消息:

Visual Studio 中带有省略号注释的 Fluent API的屏幕截图。
Fluent API的屏幕截图,其中包含 Visual Studio 中显示的信息消息。

提示

错误列表面板

如果使用的是 Visual Studio for Windows ,则可以在“错误列表”窗口中查看C#分析器的输出。

要了解详情,请参阅来自 Microsoft 的错误列表窗口

如果您的构建器表达式不受支持, C#分析器会输出 MABuilders2001 警告。

以下代码片段包含一个生成器表达式,该表达式可访问不受支持的 Length属性:

var filter = Builders<Movie>.Filter.Gt(m => m.Reviews.Length, 2);

C#分析器会显示有关不支持的表达式的注解,并生成以下警告消息:

Expression not supported: ArrayLength(m.Reviews).

以下屏幕截图显示了带注释的代码以及将鼠标悬停在注释上时显示的警告:

Visual Studio 中显示的关于不支持的生成器表达式的警告的屏幕截图。

提示

错误列表面板

如果使用的是 Visual Studio for Windows ,则可以在“错误列表”窗口中查看C#分析器的输出。

要了解详情,请参阅来自 Microsoft 的错误列表窗口

要查看不支持的构建器表达式的更多示例,请参阅MongoDB C# Analyzer Github存储库。

后退

分析您的代码

在此页面上

  • Overview
  • 转换为 MongoDB 查询 API
  • 在 Visual Studio 中分析构建器
  • 简单构建器表达式
  • 跟踪构建器变量
  • Fluent API
  • 不支持的生成器表达式