규칙 및 메시지 내용
개요
이 가이드에서는 MongoDB C# 분석기 규칙 및 첨부된 메시지에 대해 알아볼 수 있습니다. 규칙은 코드의 여러 부분을 평가하고 특정 조건이 충족되면 메시지를 반환합니다.
예를 들어, 분석기는 LINQ 표현식을 감지하면 규칙을 적용하여 IDE가 이에 상응하는 쿼리 API 표현식이 포함된 메시지를 표시하도록 할 수 있습니다. 각 규칙에는 메시지가 기록되는 위치에 영향을 미치는 Info
또는 Warning
의 심각도 수준이 있습니다.
규칙 설명
다음 섹션에서는 규칙 범주, 심각도 수준 및 해당 메시지에 대한 설명을 포함하여 각 C# 분석기 규칙에 대해 설명합니다. 각 섹션에는 예시 메시지도 포함되어 있습니다.
MABuilders1001
MABuilders1001
규칙은 코드에서 빌더 표현식을 평가하고 이에 상응하는 쿼리 API 표현식이 포함된 Atlas Triggers 메시지를 트리거합니다.
카테고리 | MongoDB.Analyzer.Builders |
심각도 (Severity) | Info |
참고 사항 | 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
규칙은 지원되지 않는 빌더 표현식을 감지하고 지원되지 않는 표현식의 번역 오류를 표시합니다.
카테고리 | MongoDB.Analyzer.Builders |
심각도 (Severity) | Warning |
참고 사항 | 지원되지 않는 빌더 표현식의 예를 보려면 소스 코드 테스트 파일을 참조하세요. |
다음 코드는 지원되지 않는 빌더 표현식을 보여주는 메시지를 표시하도록 MABuilders2001
Atlas Triggers를 합니다.
var filter = Builders<Book>.Filter.Eq(b => b.Price + 2, 1);
다음 이미지는 MABuilders2001
규칙 및 정보 메시지를 보여줍니다.
팁
빌더 표현식에 대해 자세히 알아보려면 빌더 표현식 분석 가이드를 참조하세요.
MAInq1001
MALinq1001
규칙은 코드에서 LINQ 표현식을 평가하고 이에 상응하는 쿼리 API 표현식이 포함된 Atlas Triggers 메시지를 트리거합니다.
카테고리 | MongoDB.Analyzer.LINQ |
심각도 (Severity) | Info |
참고 사항 | 이 규칙은 DefaultLinqVersion 구성 설정의 값에 따라 다르게 적용될 수 있습니다. 자세한 내용은 분석기 구성 옵션을 참조하세요. |
다음 코드는 MALinq1001
규칙을 Atlas Triggers하여 이에 상응하는 쿼리 API 표현식을 보여주는 메시지를 표시합니다.
var results = queryableColl .Where(b => b.Genre == "Theory") .OrderBy(b => b.Price);
다음 이미지는 MALinq1001
규칙 및 정보 메시지를 보여줍니다.
팁
LINQ 표현식에 대해 자세히 알아보려면 LINQ 표현식 분석 가이드를 참조하세요.
MALiq2001
MALinq2001
규칙은 지원되지 않는 LINQ 표현식을 감지하고 지원되지 않는 표현식의 변환 오류를 표시합니다.
카테고리 | MongoDB.Analyzer.LINQ |
심각도 (Severity) | Warning |
참고 사항 | This rule might apply differently depending on the value of your DefaultLinqVersion configuration 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 표현식 분석 가이드를 참조하세요.
MAInq2002
MALinq2002
규칙은 표현식이 LINQ3에서만 지원되는지 여부를 감지하고 이에 상응하는 쿼리 API 표현식이 포함된 메시지를 표시합니다.
카테고리 | MongoDB.Analyzer.LINQ |
심각도 (Severity) | Warning |
참고 사항 | This rule might apply differently depending on the value of your DefaultLinqVersion configuration setting. To learn more,see the Analyzer Configuration Options. To view examples of supported LINQ3 expressions, see the |
다음 코드는 지원되는 LINQ3 표현식을 보여주는 메시지를 표시하도록 MALinq2002
규칙을 Atlas Triggers합니다.
var results = queryableColl .Where(b => b.Price + 1 == 21) .Where(b => "Re-release: " + b.Title == "Re-release: Siddhartha");
다음 이미지는 MALinq2002
규칙 및 정보 메시지를 보여줍니다.
팁
LINQ 표현식에 대해 자세히 알아보려면 LINQ 표현식 분석 가이드를 참조하세요.
MAPoco1001
MAPoco1001
규칙은 코드에서 POCO 선언을 평가하고 샘플 인스턴스의 JSON 표현이 포함된 Atlas Triggers 메시지를 합니다. 이 규칙은 BsonIgnore
및 BsonElement
와 같은 일부 BSON 직렬화 어노테이션을 평가합니다.
카테고리 | MongoDB.Analyzer.Poco |
심각도 (Severity) | Info |
참고 사항 | 이 규칙은 PocoAnalysisVerbosity 구성 설정의 값에 따라 다르게 적용될 수 있습니다. 자세한 내용은 분석기 구성 옵션을 참조하세요. |
다음 코드는 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 선언에 지정된 지원되지 않는 직렬화 설정이 있는지 코드를 평가합니다.
카테고리 | MongoDB.Analyzer.Poco |
심각도 (Severity) | Warning |
참고 사항 | This rule might apply differently depending on the value of your PocoAnalysisVerbosity configuration 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
규칙 및 정보 메시지를 보여줍니다.