簡體   English   中英

在我的C#代碼中為Sqlite添加外鍵

[英]Add foreign key inside my C# code for Sqlite

我已經創建了一個Sqlite數據庫,但是當我進入Xamarin.forms時,我發現必須為Sqlite數據庫中的每個表創建一個類。

我有3張桌子:

  1. User有3列UserID (PK), Mail (唯一的),密碼
  2. 具有4列Ticket TicketID (PK), NameDescriptionTicketValue
  3. UserTickets與4列UserID (FK), TicketID (FK), TicketValue (FK)

在C#中,我可以處理主鍵和唯一使用

[PrimaryKey, Unique]

像上面這樣

但是我不知道如何設置外鍵。

我正在使用Nuget Sqlite

聽起來您正在嘗試使用SQLite中的外鍵創建表。 如果是正確的話,應該會有所幫助。

在表創建過程中的SQLite中,您可以在查詢結束時設置外鍵引用。 例如,用戶票證表創建查詢將如下所示。

CREATE TABLE `UserTickets` (
`UserID`    INTEGER,
`TicketID`  INTEGER,
`TicketValue`   INTEGER,
FOREIGN KEY(`UserID`) REFERENCES `User`(`UserID`)
FOREIGN KEY(`TicketID`) REFERENCES `Ticket`(`TicketID`)
FOREIGN KEY(`TicketValue`) REFERENCES `Ticket`(`TicketValue`)
);

現在,每次創建數據庫連接時都必須打開外鍵,這一點很重要。 SQLite不會為您執行此操作,因此,如果添加外鍵約束(如“ ON DELETE CASCADE”),請確保在連接字符串中指定了它

例:

 SQLiteConnection conn = new SQLiteConnection("Data Source = [Your DB Path];foreign keys=true;");

最后說明:您將需要調整表創建查詢以添加任何增量或唯一約束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM