2010-03-09 17 views
2

假設您必須快速構建一個在Web瀏覽器中工作的數據輸入UI,該Web瀏覽器必須與必須與數據層連接的業務層進行交互。開發一個基於Web的短期數據輸入UI

您只想連接到業務對象,而不是直接連接到數據庫。

UI的大部分視圖都是簡單的CRUD操作,編輯/更新發生在網格中。

但是一些屏幕會更復雜,代表多對多的關係。

什麼是在ASP.NET中實現此目的的最快方法?

(注:發展速度高優先級,代碼質量和可重用性是低優先級)

回答

2

實體框架+ ASP.NET動態數據?

+0

這絕對是在Asp.net中實現這一點的最快方法。 – James 2010-03-09 21:25:27

+0

有趣的是,你想出了我們已經開始使用完全相同的組合。我問這個問題是因爲我想看看還有其他的選擇。目前我們對這兩種技術都有很多問題。實體框架 - 無法獲得工作表上關係的簡單更新;這在Linq中絕對是小孩玩的!動態數據 - 對我們的需求非常不靈活。我們想要在網格視圖中插入。不能這樣做。我們只想更新已更改的列。不能這樣做。必須寫一個複雜的黑客來解決這個問題。 – Jonathan 2010-03-09 21:29:31

0

我已經用同樣的方式爲我的公司編寫了很多像這樣的小業務編輯器,如果它被使用或需要改進,我會很快處理它,稍後再處理。

啓動一個新的asp.net項目。向解決方案中添加一個類庫並從asp.net應用程序中引用它。

Asp.Net應用

  • 使用母版頁和主題
  • 使用的數據列表和命令按鈕轉發器用於選擇和刪除。
  • 轉發器也適用於內部列表,請注意OnItemDataBound和OnItemCommand。
  • 使用面板來保存列表和編輯器,編寫一些邏輯來控制何時查看編輯器以及何時查看列表。
  • 如果邏輯通用,那麼創建一些新的編輯器可以使用和覆蓋的基頁。

類庫

  • 添加您的業務對象
  • 添加LINQ到SQL類和數據庫對象添加是必要的。
2

如果開發速度是主要優先考慮事項,那就用你知道的去做吧。

例如,如果你知道ado.net/enterprise庫,那就去吧。如果你知道實體框架或LINQ,那麼去那條路線。

沒有你的技能的總結,這將是任何人都不可能告訴你得到的東西和運行最快的方法。

+0

我認爲,既然我們已經投資了動態數據,那麼我們最好不要使用它。至少我們會承諾做出決定。 – Jonathan 2010-03-09 22:38:50

0

爲簡單起見,你可以使用一些經過時間考驗的控件和對象:

  • 用戶接口層:GridView控件顯示,並提供編輯鏈接和刪除數據。點擊編輯鏈接可能會打開一個新的Asp.net網頁,其中包含用於插入和更新記錄的FormView。使用ObjectDataSource將業務邏輯層上的方法鏈接到創建/讀取/更新/刪除記錄。業務邏輯層:除了創建CRUD方法,您可能需要使用輕量級可序列化的數據傳輸對象在不同層之間傳遞數據,並使用自定義映射器來將數據傳遞到其他層並傳遞給其他層。數據訪問層:Linq to Sql可能使數據訪問和操作變得快速和簡單。

0

這取決於應用程序的複雜性。我會和Linq一起去Sql。但是,然後使用Linq to Sql並不需要在業務層和數據訪問層之間提供良好的抽象。但是我發現使用Linq to Sql可以快速地將數據從存儲中取出並顯示在屏幕上。

另外,如果你想要快速的用戶界面,那麼看看動態數據網站。這也使用Linq to Sql或Entity Framework。

您必須考慮的一個問題是,如果您需要優秀的設計或RAD。

相關問題