Docs Menu
Docs Home
/
MongoDB C# 분석기

규칙 및 메시지 내용

이 페이지의 내용

  • 개요
  • 규칙 설명
  • MABuilders1001
  • MABuilders2001
  • MAInq1001
  • MALiq2001
  • MAInq2002
  • MAPoco1001
  • MAPoco2001

이 가이드에서는 MongoDB C# 분석기 규칙 및 첨부된 메시지에 대해 알아볼 수 있습니다. 규칙은 코드의 여러 부분을 평가하고 특정 조건이 충족되면 메시지를 반환합니다.

예를 들어, 분석기는 LINQ 표현식을 감지하면 규칙을 적용하여 IDE가 이에 상응하는 쿼리 API 표현식이 포함된 메시지를 표시하도록 할 수 있습니다. 각 규칙에는 메시지가 기록되는 위치에 영향을 미치는 Info 또는 Warning 의 심각도 수준이 있습니다.

다음 섹션에서는 규칙 범주, 심각도 수준 및 해당 메시지에 대한 설명을 포함하여 각 C# 분석기 규칙에 대해 설명합니다. 각 섹션에는 예시 메시지도 포함되어 있습니다.

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 규칙 및 정보 메시지를 보여줍니다.

MABuilders1001 규칙 메시지가 포함된 빌더 표현식의 스크린샷

빌더 표현식에 학습 보려면 빌더 표현식 분석 가이드 를 참조하세요.

MABuilders2001 규칙은 지원되지 않는 빌더 표현식을 감지하고 지원되지 않는 표현식의 번역 오류를 표시합니다.

카테고리
MongoDB.Analyzer.Builders
심각도 (Severity)
Warning
참고 사항
지원되지 않는 빌더 표현식의 예를 보려면 소스 코드 테스트 파일을 참조하세요.

다음 코드는 지원되지 않는 빌더 표현식을 보여주는 메시지를 표시하도록 MABuilders2001 Atlas Triggers를 합니다.

var filter = Builders<Book>.Filter.Eq(b => b.Price + 2, 1);

다음 이미지는 MABuilders2001 규칙 및 정보 메시지를 보여줍니다.

MABuilders2001 규칙 메시지가 포함된 빌더 표현식의 스크린샷

빌더 표현식에 대해 자세히 알아보려면 빌더 표현식 분석 가이드를 참조하세요.

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 규칙 및 정보 메시지를 보여줍니다.

MALinq1001 규칙 메시지가 포함된 LINQ 표현식의 스크린샷

LINQ 표현식에 대해 자세히 알아보려면 LINQ 표현식 분석 가이드를 참조하세요.

MALinq2001 규칙은 지원되지 않는 LINQ 표현식을 감지하고 지원되지 않는 표현식의 변환 오류를 표시합니다.

카테고리
MongoDB.Analyzer.LINQ
심각도 (Severity)
Warning
참고 사항
This rule might apply differently depending on the value of
your DefaultLinqVersion configuration setting. To learn more,

To view examples of unsupported LINQ expressions, see the

다음 코드는 지원되지 않는 LINQ 표현식을 보여주는 메시지를 표시하도록 MALinq2001 Atlas Triggers 규칙을 트리거합니다.

var results = queryableColl.Where(b => b.GetHashCode() == 1);

다음 이미지는 MALinq2001 규칙 및 정보 메시지를 보여줍니다.

MALinq2001 규칙 메시지가 포함된 LINQ 표현식의 스크린샷

LINQ 표현식에 대해 자세히 알아보려면 LINQ 표현식 분석 가이드를 참조하세요.

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,

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 규칙 및 정보 메시지를 보여줍니다.

MALinq2002 규칙 메시지가 포함된 LINQ 표현식의 스크린샷

LINQ 표현식에 대해 자세히 알아보려면 LINQ 표현식 분석 가이드를 참조하세요.

MAPoco1001 규칙은 코드에서 POCO 선언을 평가하고 샘플 인스턴스의 JSON 표현이 포함된 Atlas Triggers 메시지를 합니다. 이 규칙은 BsonIgnoreBsonElement 와 같은 일부 BSON 직렬화 어노테이션을 평가합니다.

카테고리
MongoDB.Analyzer.Poco
심각도 (Severity)
Info
참고 사항
이 규칙은 PocoAnalysisVerbosity 구성 설정의 값에 따라 다르게 적용될 수 있습니다. 자세한 내용은 분석기 구성 옵션을 참조하세요.

다음 코드는 Atlas Triggers MAPoco1001 규칙을 통해 샘플 POCO의 JSON 표현을 보여주는 메시지를 표시합니다.

public class Person
{
[BsonId]
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
[BsonIgnore]
public double Income { get; set; }
}

다음 이미지는 MAPoco1001 규칙 및 정보 메시지를 보여줍니다.

MAPoco1001 규칙 메시지가 포함된 빌더 표현식 스크린샷

POCO 분석에 대해 자세히 알아보려면 POCO 분석 가이드를 참조하세요.

POCO 주석에 대해 자세히 알아보려면 .NET/C# 드라이버 설명서에서 POCO 가이드 를 참조하세요.

MAPoco2001 규칙은 POCO 선언에 지정된 지원되지 않는 직렬화 설정이 있는지 코드를 평가합니다.

카테고리
MongoDB.Analyzer.Poco
심각도 (Severity)
Warning
참고 사항
This rule might apply differently depending on the value of
your PocoAnalysisVerbosity configuration setting. To learn more,

To view examples of unsupported POCO declarations, see the

다음 코드는 Atlas Triggers MAPoco2001 규칙을 트리거하여 코드의 필드 Date 에 잘못된 직렬화 설정이 포함되어 있음을 설명하는 메시지를 표시합니다.

public class Appointment
{
[BsonDateTimeOptions(DateOnly = true, Kind = DateTimeKind.Local)]
public decimal Date { get; set; }
public string Doctor { get; set; }
}

다음 이미지는 MAPoco2001 규칙 및 정보 메시지를 보여줍니다.

MAPoco2001 규칙 메시지가 포함된 빌더 표현식 스크린샷

POCO 분석에 대해 자세히 알아보려면 POCO 분석 가이드를 참조하세요.

POCO 주석에 대해 자세히 알아보려면 .NET/C# 드라이버 설명서에서 POCO 가이드 를 참조하세요.

돌아가기

POCO