2013-04-22 45 views
4

我想在我的MonoTouch的應用程序使用SQLite數據庫。從http://docs.xamarin.com/recipes/ios/data/sqlite我看到兩個選項。MonoTouch的sqlite的網或ADO.Net

  1. sqlite的淨
  2. ADO.NET

做研究,我發現,SQLite的淨使用方便,適用於iOS和Android的,但不支持外鍵的概念。我的需要是在我的數據庫中有關係。學生表與課堂,教授,作業表相關聯。不那麼複雜! Sqlite-net是否支持這種關係?哪一個是更好的選擇Sqlite-net或ADO.Net。 讚賞... 謝謝

回答

2

ADO.Net不給你開箱即用的關係支持。它只給你原始類如SQLCommandSQLDataReader

我會強烈建議sqlite的網,因爲它是作爲一個ORM節省大量的時間。

您可以設置外鍵通過調用人工SQL語句sqlite的網,這是你將與ADO.Net做反正一樣。

使用SQLite淨

所以,有幾種方法,你可以設置你的數據庫:

  1. 呼叫源碼網的API基於你的C#類創建表,然後添加的東西它不帶手動支持像外鍵和索引SQL
  2. 加入與完整的架構已經建立
  3. 您的應用程序一個空數據庫與原始SQL腳本

我創建整個數據庫如果我想完全控制數據庫模式(並且包含我在SQLite Expert中創建的數據庫文件更容易一些),則傾向於使用選項#2。 sqlite-net應該可以和現有的數據庫一起工作。

+0

除非你從字面上一無所知SQL和模式,我會小心的(1)也,因爲我已經沒有任何的因使用這種方法開發的問題,不知道到底/理解是什麼架構上已經變成了。 此外,任何想法時,你需要更新架構,如一個新的字段添加到表會發生什麼?如果您向該類添加字段,舊數據會發生什麼情況,因爲它可能是應用程序版本更新,它將被添加進來? – SharpC 2016-09-28 19:30:45

+0

是的,我通常選擇#2,然後必須推出我自己的遷移計劃以更改架構。 [SQLiteExpert](http://www.sqliteexpert.com/)是提前創建數據庫的好工具。 – jonathanpeppers 2016-09-28 20:43:46