UWP:实时查询和领域搜索

时间:2018-07-30 03:25:55

标签: c# uwp realm

我将Realm用作主数据库和同步引擎,我的问题是如何进行实时查询搜索?

例如当我使用

> java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Unknown Source)
    at JavaNioServer.JavaNioServer.main(JavaNioServer.java:9)
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/user?user=root&password=88224148
    at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
    at JavaNioServer.JavaNioServer.main(JavaNioServer.java:24)

并将其绑定到列表视图,更改var _age= 7; Instance.All<Dog>().Where(d => d.Age == _age).AsRealmCollection(); 变量时需要更新视图。换句话说,我想对我的数据库进行“动态”查询。当我要查找不同年龄段的“狗”时,我希望更新视图。但是当我再次运行此查询并将新的集合分配给ViewModel时,我的视图不会更新。

我该怎么办?

更新:

在这里您可以获得示例代码,因此可以重现此问题: https://github.com/Mohsens22/RelamTest

我还必须告诉您,_age默认情况下会实现IRealmCollection<T>,因此,如果您通过“写交易”将任何项目添加到集合中,则视图将被更新。可以找到更多信息HERE

1 个答案:

答案 0 :(得分:0)

我检查了您的代码示例,发现Dogz将用Instance.All<Dog>().Where(z => z.Age == nxt).AsRealmCollection();重新创建。因此,您需要两种方式的绑定模型。

<ListView x:Name="itemListView" ItemsSource="{x:Bind Dogz,Mode=TwoWay}">

这是document关于绑定的内容,您可以参考。