2008-11-30 163 views
0

我想編寫一個將使用DBMS的新應用程序。在這個應用程序的設計階段和權衡選項時,我發現將會有很多數據庫訪問,這意味着許多查詢。我對開發這個系統的最大擔憂是分散在代碼中的SQL選擇,更新和刪除語句的笨拙性質。除了Linq之外還有什麼語言語法擴展(或腳本語言)(我不喜歡因爲語法尷尬)現在可用嗎?我非常熟悉Progress ABL(他們的4GL),我喜歡它的語法,但是它的部署模型和依賴關係對於我的應用程序來說是沉重而昂貴的。數據庫訪問

我請求必須與PHP或C#兼容的系統。

,我正在考慮使用數據庫管理系統的SQLite,MySQL和MSSQL或(緊湊型或標準)。

回答

1

只是不在你的代碼中散佈SQL。寫一個適當的模型層。

即使你不使用MVC或ORM框架,使用經過驗證的設計方法始終付清。只需編寫存儲在數據庫中的概念對象的列表,以及要對其執行的所有操作,然後將所有功能寫入單個文件(或每個概念性對象的文件)。該程序的其餘部分不應該包含單個SQL命令,所有內容都應該使用該模型層完成。

0

,如果你正在使用C#中,你可以使用類似Subsonic數據庫訪問。它將處理您的數據訪問,並且在很多情況下,您將能夠避免在整個代碼中編寫SQL。

0

任何數據庫的前端將阻止你在你的代碼有SQL,但仍然需要數據訪問莫名其妙,通常你結束了你不高興的LINQ專有的垃圾。我以前使用過Hibernate,它是一個功能強大的Java庫,可以與您的數據庫進行通信。如果你的任務很小,那麼原始訪問並不是一個壞主意,如果數據庫將會改變,那麼你的代碼中的sql是不好的,這可能會改變。