1
我正在使用SQLite for Windows Runtime,但我沒有看到任何方式來定義表之間的關係。 SQLite for WinRT支持該功能嗎?Windows RT上的關係SQLite
如果不是,是否有任何替代Windows RT關係本地數據庫的解決方案?
我正在使用SQLite for Windows Runtime,但我沒有看到任何方式來定義表之間的關係。 SQLite for WinRT支持該功能嗎?Windows RT上的關係SQLite
如果不是,是否有任何替代Windows RT關係本地數據庫的解決方案?
數據庫引擎本身支持關係。一種方法是創建表時指定的外鍵:
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
對象。
它的不幸,但是無論如何:)順便說一句,我檢查了他們的GIT項目託管,並根據一些最後提交(此時3個月大)有一些努力來實現這一點。 – hendrix 2013-05-16 08:30:24