클래스 QueryMethods
LINQ를 사용할 때 네이티브 Realm 쿼리로 변환되는 메서드를 제공합니다.
네임스페이스: Realms
어셈블리: Realm.exe
구문
public static class QueryMethods
비고
이러한 메서드에는 구현 기능이 없으며 Realm 쿼리 결과에 대해 수행되는 LINQ 쿼리에서만 사용할 수 있습니다(예: All<T>() 에서 반환되는 IQueryable).
방법
| 이 페이지 편집 소스 보기contains(string?, string, StringComparison)
지정된 하위 문자열이 이 문자열 내에 있는지 여부를 나타내는 값을 반환합니다.
선언
public static bool Contains(string? str, string value, StringComparison comparisonType)
매개변수
유형 | 이름 | 설명 |
---|---|---|
문자열 | str | 원래 문자열입니다. |
문자열 | value | 찾을 문자열입니다. |
StringComparison | 비교 유형 | 이 문자열과 값이 비교되는 방법을 결정하는 열거형 값 중 하나입니다. |
반환
유형 | 설명 |
---|---|
부울 |
|
예외
유형 | 조건 |
---|---|
ArgumentNullException |
|
ArgumentException |
|
FullTextSearch(문자열?, 문자열)
문자열 속성에 대해 '단순 텀' 전체 텍스트 검색을 수행합니다.
선언
public static bool FullTextSearch(string? str, string terms)
매개변수
유형 | 이름 | 설명 |
---|---|---|
문자열 | str | 텀과 비교할 문자열입니다. |
문자열 | 용어 |
|
반환
유형 | 설명 |
---|---|
부울 |
|
비고
이 메서드가 Realm 쿼리 외부에서 사용되면 NotSupportedException 이 발생합니다.
예시
var matches = realm.All<Book>().Where(b => b.Summary.FullTextSearch("fantasy novel"));
|
이 페이지 편집
소스 보기
GeoWithin(IEmbeddedObject?, GeoShapeBase)
내장된 객체가 나타내는 점이 geoShape
에 포함되어 있는지 확인합니다.
선언
public static bool GeoWithin(IEmbeddedObject? point, GeoShapeBase geoShape)
매개변수
유형 | 이름 | 설명 |
---|---|---|
IEmbeddedObject | 점 | GeoJSON 포인트 모양의 내장된 객체입니다. 여기에는 |
GeoShapeBase | geoShape |
|
반환
유형 | 설명 |
---|---|
부울 |
|
예시
지리 공간적 쿼리에 사용할 수 있는 내장된 객체의 예시는 다음과 같습니다.
public partial class MyGeoPoint : IEmbeddedObject
{
[MapTo("coordinates")]
private IList<double> Coordinates { get; } = null!;
[MapTo("type")]
private string Type { get; set; } = "Point";
public double Latitude => Coordinates.Count > 1 ? Coordinates[1] : throw new Exception($"Invalid coordinate array. Expected at least 2 elements, but got: {Coordinates.Count}");
public double Longitude => Coordinates.Count > 1 ? Coordinates[0] : throw new Exception($"Invalid coordinate array. Expected at least 2 elements, but got: {Coordinates.Count}");
public MyGeoPoint(double latitude, double longitude)
{
Coordinates.Add(longitude);
Coordinates.Add(latitude);
}
}
동기화를 사용하는 경우, 내장된 Realm 객체 유형의 이름이 서버의 GeoJSON 스키마에 정의된 내장된 객체의 title
와 정확히 일치해야 합니다.
Like(문자열?, 문자열, bool)
지정된 문자열과 패턴 간에 '좋아요' 비교를 수행합니다.
선언
public static bool Like(string? str, string pattern, bool caseSensitive = true)
매개변수
유형 | 이름 | 설명 |
---|---|---|
문자열 | str | 패턴과 비교할 문자열입니다. |
문자열 | 패턴 | 비교할 패턴입니다. |
부울 | 대소문자 구분 |
|
반환
유형 | 설명 |
---|---|
부울 |
|
비고
?
및 은
?
가 단일 문자와 일치하고 가 0개 이상의 문자와 일치하는 경우 허용되며, 즉
?bc*
는 abcde
및 bbc
와 일치하지만 bcd
일치하지 않습니다.