QueryMethods da classe
Fornece métodos que são traduzidos em queries nativas do Realm ao usar o LINQ.
namespace: Realms
Conjunto: Realm.exe
Sintaxe
public static class QueryMethods
Observações
Esses métodos não têm implementação e só podem ser usados em uma query LINQ realizada em um resultado de query do Realm - por exemplo, o IQueryable retornado por All<T>().
Métodos
| Editar esta página Ver fonteContém(cadeia de caracteres?, cadeia de caracteres, StringComparison)
Retorna um valor indicando se uma substring especificada ocorre dentro desta string.
Declaração
public static bool Contains(string? str, string value, StringComparison comparisonType)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | str | A cadeia original. |
string | valor | A string a procurar. |
Comparação de strings | comparaçãoType | Um dos valores de enumeração que determina como essa string e valor são comparados. |
Devoluções
Tipo | Descrição |
---|---|
bool |
|
Exceções
Tipo | Condição |
---|---|
ArgumentNullException | Lançado quando |
ArgumentException | Lançado quando |
FullTextSearch(string?, string)
Executa uma pesquisa de texto completo com "termo simples" em uma propriedade de string.
Declaração
public static bool FullTextSearch(string? str, string terms)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | str | A string para comparar com os termos. |
string | termos | Os termos para procurar em |
Devoluções
Tipo | Descrição |
---|---|
bool |
|
Observações
Quando esse método é usado fora de uma query de Realm, uma NotSupportedException será lançada.
Exemplos
var matches = realm.All<Book>().Where(b => b.Summary.FullTextSearch("fantasy novel"));
|
Editar esta página
Ver fonte
GeoWithin(IEmbeddedObject?, GeoShapeBase)
Verifica se geoShape
contém o ponto representado por um objeto incorporado.
Declaração
public static bool GeoWithin(IEmbeddedObject? point, GeoShapeBase geoShape)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
IEmbeddedObject | Ponto | Um objeto incorporado que tem a forma de um ponto GeoJSON. Deve ter pelo menos dois campos - |
GeoShapeBase | geoShape | Um dos GeoBox, GeoCircle ou GeoPolygon representando a forma em que |
Devoluções
Tipo | Descrição |
---|---|
bool |
|
Exemplos
Um exemplo de objeto incorporado que pode ser utilizado em query geoespaciais é:
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);
}
}
Observe que, se você estiver usando a sincronização, o nome do Tipo de objeto de Realm deverá corresponder exatamente ao title
do objeto incorporado definido no esquema GeoJSON no servidor.
Tipo(string?, string, bool)
Executa uma comparação "tipo" entre a string e o padrão especificados.
Declaração
public static bool Like(string? str, string pattern, bool caseSensitive = true)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | str | A string para comparar com o padrão. |
string | padrão | O padrão para comparar. |
bool | sensível a maiúsculas e minúsculas | Se definido para |
Devoluções
Tipo | Descrição |
---|---|
bool |
|
Observações
?
e são permitidos onde
?
corresponde a um único caractere e corresponde a zero ou mais caracteres, de modo que
?bc*
corresponda a abcde
e bbc
, mas não corresponda a bcd
.