개요
이 가이드에서는 MongoDB C# 분석기 규칙 및 첨부된 메시지에 대해 알아볼 수 있습니다. 규칙은 코드의 여러 부분을 평가하고 특정 조건이 충족되면 메시지를 반환합니다.
예를 들어, 분석기는 LINQ 표현식을 감지하면 규칙을 적용하여 IDE가 이에 상응하는 쿼리 API 표현식이 포함된 메시지를 표시하도록 할 수 있습니다. 각 규칙에는 메시지가 기록되는 위치에 영향을 미치는 Info 또는 Warning 의 심각도 수준이 있습니다.
규칙 설명
다음 섹션에서는 규칙 범주, 심각도 수준 및 해당 메시지에 대한 설명을 포함하여 각 C# 분석기 규칙에 대해 설명합니다. 각 섹션에는 예시 메시지도 포함되어 있습니다.
MABuilders1001
MABuilders1001 규칙은 코드에서 빌더 표현식을 평가하고 이에 상응하는 쿼리 API 표현식이 포함된 Atlas Triggers 메시지를 트리거합니다.
| 카테고리 | 
 | 
| 심각도 (Severity) | 
 | 
| 참고 사항 | none | 
다음 코드는 MABuilders1001 규칙을 Atlas Triggers하여 이에 상응하는 쿼리 API 표현식을 보여주는 메시지를 표시합니다.
var filter = Builders<Book>.Filter.Eq(b => b.Genre, "Theory") &     Builders<Book>.Filter.Gte(b => b.Price, 10); 
다음 이미지는 MABuilders1001 규칙 및 정보 메시지를 보여줍니다.

팁
빌더 표현식에 학습 보려면 빌더 표현식 분석 가이드 를 참조하세요.
MABuilders2001
MABuilders2001 규칙은 지원되지 않는 빌더 표현식을 감지하고 지원되지 않는 표현식의 번역 오류를 표시합니다.
| 카테고리 | 
 | 
| 심각도 (Severity) | 
 | 
| 참고 사항 | 지원되지 않는 빌더 표현식의 예를 보려면 소스 코드 테스트 파일을참조하세요. | 
다음 코드는 지원되지 않는 빌더 표현식을 보여주는 메시지를 표시하도록 MABuilders2001 Atlas Triggers를 합니다.
var filter = Builders<Book>.Filter.Eq(b => b.Price + 2, 1); 
다음 이미지는 MABuilders2001 규칙 및 정보 메시지를 보여줍니다.

팁
빌더 표현식에 대해 자세히 알아보려면 빌더 표현식 분석 가이드를 참조하세요.
MAInq1001
MALinq1001 규칙은 코드에서 LINQ 표현식을 평가하고 이에 상응하는 쿼리 API 표현식이 포함된 Atlas Triggers 메시지를 트리거합니다.
| 카테고리 | 
 | 
| 심각도 (Severity) | 
 | 
| 참고 사항 | 이 규칙은  | 
다음 코드는 MALinq1001 규칙을 Atlas Triggers하여 이에 상응하는 쿼리 API 표현식을 보여주는 메시지를 표시합니다.
var results = queryableColl     .Where(b => b.Genre == "Theory")     .OrderBy(b => b.Price); 
다음 이미지는 MALinq1001 규칙 및 정보 메시지를 보여줍니다.

팁
LINQ 표현식에 대해 자세히 알아보려면 LINQ 표현식 분석 가이드를 참조하세요.
MALiq2001
MALinq2001 규칙은 지원되지 않는 LINQ 표현식을 감지하고 지원되지 않는 표현식의 변환 오류를 표시합니다.
| 카테고리 | 
 | 
| 심각도 (Severity) | 
 | 
| 참고 사항 | This rule might apply differently depending on the value of your  DefaultLinqVersionconfiguration setting. To learn more,see the Analyzer Configuration Options. To view examples of unsupported LINQ expressions, see the | 
다음 코드는 지원되지 않는 LINQ 표현식을 보여주는 메시지를 표시하도록 MALinq2001 Atlas Triggers 규칙을 트리거합니다.
var results = queryableColl.Where(b => b.GetHashCode() == 1); 
다음 이미지는 MALinq2001 규칙 및 정보 메시지를 보여줍니다.

팁
LINQ 표현식에 대해 자세히 알아보려면 LINQ 표현식 분석 가이드를 참조하세요.
MAPoco1001
MAPoco1001 규칙은 코드에서 POCO 선언을 평가하고 샘플 인스턴스의 JSON 표현이 포함된 Atlas Triggers 메시지를 합니다. 이 규칙은 BsonIgnore 및 BsonElement 와 같은 일부 BSON 직렬화 어노테이션을 평가합니다.
| 카테고리 | 
 | 
| 심각도 (Severity) | 
 | 
| 참고 사항 | 이 규칙은  | 
다음 코드는 Atlas Triggers MAPoco1001 규칙을 통해 샘플 POCO의 JSON 표현을 보여주는 메시지를 표시합니다.
public class Person {    []    public int Id { get; set; }    public string FirstName { get; set; }    public string LastName { get; set; }    public int Age { get; set; }    []    public double Income { get; set; } } 
다음 이미지는 MAPoco1001 규칙 및 정보 메시지를 보여줍니다.

MAPoco2001
MAPoco2001 규칙은 POCO 선언에 지정된 지원되지 않는 직렬화 설정이 있는지 코드를 평가합니다.
| 카테고리 | 
 | 
| 심각도 (Severity) | 
 | 
| 참고 사항 | This rule might apply differently depending on the value of your  PocoAnalysisVerbosityconfiguration setting. To learn more,see the Analyzer Configuration Options. To view examples of unsupported POCO declarations, see the | 
다음 코드는 Atlas Triggers MAPoco2001 규칙을 트리거하여 코드의 필드 Date 에 잘못된 직렬화 설정이 포함되어 있음을 설명하는 메시지를 표시합니다.
public class Appointment {    []    public decimal Date { get; set; }    public string Doctor { get; set; } } 
다음 이미지는 MAPoco2001 규칙 및 정보 메시지를 보여줍니다.
