我们可以在namespace WebBrowserHelloworld
{
public partial class MainWindow : Window
{
WebBrowser mainBrowser = new WebBrowser();
public MainWindow()
{
InitializeComponent();
mainBrowser.Source = new Uri("https://google.com");
maingrid.Children.Add(mainBrowser);
}
}
}
上使用:db/id
来检索反向实体ref datomic.api/touch
。但是,在调用datomic.query.EntityMap
函数之后,seq
键将消失。
这样考虑我的代码:
:db/id
=> {:db / id 17592186045460,:customer / id 101,:customer / name“ AAA”}
但是奇怪的事情是这样发生的:
(d/touch (first (get-allo-customers-by-user (d/db conn) [:user/email "aaa@example.com"])))
=>([:customer / id 101] [:customer / name“ AAA”])
答案 0 :(得分:0)
那可能不是错误。请记住,Datomic不会在任何地方存储实体,它存储的都是事实。 EntityMap表示形式包含“伪造” :db/id
,但您的数据实际上如下所示:
[17592186045460 :customer/id 101]
[17592186045460 :customer/name "AAA"]
因此,当您将id转换为seq时,id丢失的事实似乎是一种意想不到的/随机的行为,但这本身并不是一个错误。
请注意,您不必使用d/touch
来获得ID的保留-您可以直接直接读取ID。
(def customer (first (get-allo-customers-by-user (d/db conn) [:user/email "aaa@example.com"])))
(:db/id customer)