クラス クエリメソッド
LINQ を使用する場合にネイティブ Realm クエリに変換されるメソッドを提供します。
Namespace: Realms
組み立て: Realm.dll
構文
public static class QueryMethods
コメント
これらの には 実装Realm が<T>
メソッド
| このページを編集 ソースを表示Contains(string?, string, StringComparson)
指定された部分文字列がこの string 内に出現するかどうかを示す値を返します。
宣言
public static bool Contains(string? str, string value, StringComparison comparisonType)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | str | 元の string。 |
string | 価値 | 検索する string。 |
StringComparson | 比較タイプ | この string と値を比較する方法を決定する列挙値の 1 つ。 |
戻り値
タイプ | 説明 |
---|---|
ブール |
|
例外
タイプ | 条件 |
---|---|
ArgumentNullException |
|
ArgumentException |
|
フルテキスト検索(string?, string)
string プロパティで「単純なターム」の全文検索を実行します。
宣言
public static bool FullTextSearch(string? str, string terms)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | str | タームと比較する string です。 |
string | ターム |
|
戻り値
タイプ | 説明 |
---|---|
ブール |
|
コメント
このメソッドが Realm クエリの外部で使用されると、 NotSupportedExceptionがスローされます。
例
var matches = realm.All<Book>().Where(b => b.Summary.FullTextSearch("fantasy novel"));
|
このページを編集
ソースを表示
GeoWithin(I埋め込みObject?, GeoShapeBase)
geoShape
に埋め込みオブジェクトで表される点が含まれているかどうかを確認します。
宣言
public static bool GeoWithin(IEmbeddedObject? point, GeoShapeBase geoShape)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
IEmbeddedObject | 点 | GeoJSONポイントの形状を持つ埋め込みオブジェクト。 少なくとも 2 つのフィールドが必要です - |
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);
}
}
同期を使用している場合は、埋め込みオブジェクトタイプの名前が、サーバー上のGeoJSONスキーマで定義された埋め込みオブジェクトの title
と完全に一致する必要があることに注意してください。
のように(string?、string、ブール値)
指定された string とパターン間で「同様」の比較を実行します。
宣言
public static bool Like(string? str, string pattern, bool caseSensitive = true)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | str | パターンと比較する string。 |
string | パターン | 比較するパターン。 |
ブール | 大文字と小文字の区別 |
|
戻り値
タイプ | 説明 |
---|---|
ブール |
|
コメント
?
とは、
?
が 1 文字に一致し、 が 0 文字以上の文字に一致する場合に許可されます。そのため、
?bc*
はabcde
およびbbc
と一致しますが、 bcd
には一致しません。