2013-05-14 59 views

回答

2

數據庫引擎本身支持關係。一種方法是創建表時指定的外鍵:

CREATE TABLE Foo(
Id integer primary key autoincrement not null , 
... 
) 

CREATE TABLE Bar(
Id integer primary key autoincrement not null, 
FooId integer not null REFERENCES Foo (Id) ON UPDATE CASCADE, 
... 
) 

我相信每一個數據庫連接必須也能夠通過執行以下編譯外鍵:

PRAGMA foreign_keys = ON 

在現有奧姆斯方面,我想這取決於。我只用了SQLite-Net,所以我只能說這個。據我所知,外鍵目前不是SQL-Net支持的功能。您必須手動管理關係。

例如,假設您的Foo對象有一個對象參照Bar對象。

對於創建表,您不能使用SQLite-Net表創建方法。您必須使用SQL來創建表以及關係。

此外,當您使用SQL-Net加載Foo對象時,相關的Bar對象將不會自動加載。您將需要進行第二次SQL-Net調用才能加載Bar對象。

+0

它的不幸,但是無論如何:)順便說一句,我檢查了他們的GIT項目託管,並根據一些最後提交(此時3個月大)有一些努力來實現這一點。 – hendrix 2013-05-16 08:30:24