2010-03-15 126 views
0

我在過去一點點搞砸了,有一個關於OO理論的課,還有一個關於控制檯C++應用的課。現在,作爲一個業餘愛好項目,我正在着手編寫一個真正的應用程序,它將是一個使用System.Data.SQLite和C#的數據庫應用程序。如何在Visual Studio中配置SQLite數據庫?

我有數據庫的表結構計劃。我有System.Data.SQLite安裝並連接到VS Pro。我在VS中輸入了我的表格和列,但那是我卡住的地方。我真的不知道如何完成數據庫設置,因此我可以開始創建查詢和測試數據庫結構。有人可以給我指導,以幫助我瞭解如何正確設置數據庫,以便我可以繼續測試它嗎?

我希望對於使用C#和System.Data.SQLite的初學者特定的在線資源,但我會盡可能使用最接近的。

謝謝。

更新: 正與概念有點舒服(和鍛鍊來也行,由於沒有選擇的預期),我想我需要使用SQL語言查詢與分貝,而不是溝通其他設備(如ORM或實體框架等)。我會這樣做,以保持我的學習曲線更低,似乎我可以使用我所擁有的知識,因爲我已經不知道如何繼續配置數據庫了。所以,問題2)這聽起來像是一個好計劃嗎?

回答

1

對我的理解,你實際上是試圖瀏覽器的數據庫,以證明表結構和您要使用的查詢都很有用。那是對的嗎?

如果您覺得您正在尋找某種查詢界面。我從來沒有使用SQLite,但搜索查詢接口,我發現這個:http://sqlitebrowser.sourceforge.net/

它可能會有所幫助。

而且看這個問題在這裏:Editing SQL query with Visual Studio 2008

它可以幫助你你要找的事情。

乾杯,瓦格納。

+0

我不確定那是'我需要什麼。我只輸入了VS和表中的列。問題是,我不知道如何繼續完成數據庫設置(關係,和其他一切),所以我可以開始創建查詢和測試數據庫設計。 – ChrisC 2010-03-15 19:44:52

+0

所以這裏是另一個,這似乎更多的GUI工具。這可能會讓你有能力做你想做的事:http://www.razorsql.com/features/sqlite_features.html – 2010-03-15 21:00:20

1

你現在需要的是什麼被稱爲對象關係映射器(ORM)。這部分軟件將C#對象與數據庫連接起來 - 使您無需使用SQL字符串即可編寫查詢和更新。

您可以爲您的應用程序編寫特定於域的ORM,或者使用數百萬現成產品之一。

現成的奧姆斯包括:

  • - 我從來沒有使用SQLite使用的,但我相信它的工作原理
  • sqlite-net - 與SQLite數據庫的工作我自己的小圖書館。

(目前是微軟的實體框架,但是,好了,它沒有榜上無名。)

+0

謝謝弗蘭克。也許我還不夠了解,但是使用sqlite-net意味着我還需要使用Linq? (它在他們的頁面上說:「Linq支持,所以你不必寫SQL」,這看起來就像你在第一段中所說的那樣)。或者你能告訴我我不理解什麼嗎? – ChrisC 2010-03-15 19:42:18

1

既然你剛剛起步,我懷疑你可能更容易從SQL Server Compact開始。這是一個零安裝的單文件數據庫,就像SQLite一樣,但在我看來,在.Net環境中更容易處理。

一旦獲得ADO.Net或Entity Framework的運行,它應該很容易遷移到另一個數據庫。

編輯

對於EF配置請參見"Entity Framework(SQL Server Compact)"

這將使實體框架工作在您的SQL Server Compact數據庫文件之外。從這裏你只需使用LINQ對象查詢來管理你的數據。儘管上述鏈接中有一小部分限制。

關於這樣做的好處是,一旦你想支持的SQL Server ExpressSQL Server標準,或者甚至的MySQL在未來,你應該只需要修改連接字符串。

您不應該觸摸您的查詢。

+0

你能告訴我它更容易嗎?另外,通過獲取「ADO.Net或Entity Framework運行」是什麼意思?謝謝。 – ChrisC 2010-03-16 19:15:45

+0

我已經更新了我的答案。基本上LINQ和EF給你一個非常靈活的數據庫抽象選項。您仍然可以將ADO.Net與SQL Server Compact結合使用,其優點是您將使用非常類似於全面生成的SQL Server的語法。因此,將該服務器作爲選項將來很容易。就我個人而言,我沒有看到自己放棄實體框架在這一點上的任何事情。 – kervin 2010-03-16 20:23:27

+0

我現在意識到,當我發佈這個問題時,我知道的比我想象的要少。你能告訴我,我可以嘗試將所有這些部分組合在一起,你能告訴我(或者指點我初學者的級別信息),Linq/EF和ORM的區別和/或相似之處是什麼?它們如何適合或不適合在一起? – ChrisC 2010-03-16 21:42:52

相關問題