我正在写一个查询,要求在realm.xamarin linq查询中使用“ WHERE IN”之类的子句。以下是我尝试过的查询:
var IdsToMatch = observations.Select(x => x.Id)
var results = from d in realm.All<Observations>() where IdsToMatch.Any(p => p == d.Id) select d;
Run Code Online (Sandbox Code Playgroud)
也尝试了以下方法Contains
:
var results = from d in realm.All<Observations>() where IdsToMatch.Contains(d.Id) select d;
Run Code Online (Sandbox Code Playgroud)
但这会引发错误:
The method 'Contains' is not supported
The method 'Any' is not supported
Run Code Online (Sandbox Code Playgroud)
有什么解决方案?
编辑:
这是错误的堆栈跟踪:
异常异常:06-07 15:04:55.097 I / MonoDroid(24526):System.NotSupportedException:不支持方法'Any'06-07 15:04:55.097 I / MonoDroid(24526):在Realms.RealmResultsVisitor中。在:0 06-07-07 15:04:55.097 I / MonoDroid(24526)中的VisitMethodCall(System.Linq.Expressions.MethodCallExpression m)[0x00596]:在Realms.ExpressionVisitor.Visit(System.Linq.Expressions.Expression exp)[0x000ec ]在:0 06-07 15:04:55.097 I / MonoDroid(24526):at Realms.RealmResultsVisitor.VisitMethodCall(System.Linq.Expressions.MethodCallExpression m)[0x0006a]在:0 06-07 …
问题非常简单,关于如何解决此错误:
Fody/RealmWeaver:类'X'字段'Y'是'System.Nullable`1',尚不支持.
这是一个DateTime?
属性.确实支持可以为空的原始类型.
我知道Java版本支持null
值.这是关于Realm .NET.我想知道是否有除了做旧的任何其他方式DateTime SomeNullableProperty
与bool HasSomeNullableProperty
事.
Xamarin的Realm文档说:
Realm将自动执行无需处理即可完成的迁移,例如添加和删除类或从类添加和删除属性。对于更复杂的更改,需要适当的迁移。我们尚无此API,但已计划并即将添加。
但是,即使只是在模型中添加新字段,应用程序也会因需要迁移而崩溃。
我的问题是:如何利用自动执行的迁移?