2009-07-08 64 views

回答

3

當然,您可以在您的控制器的操作方法或自定義業務邏輯庫中嵌入普通的ADO.NET對象。一個例子。 警告:僅限演示代碼。不要嘗試在生產環境中使用。

public ActionResult Index() 
{ 
    using(SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CNTax"].ConnectionString)) 
    { 
     using(SqlCommand command = conn.CreateCommand()) 
     { 
      command.CommandText = "select * from Names"; 
      command.CommandType = CommandType.Text; 

      conn.Open(); 

      var table = new DataTable(); 
      table.load(command.ExecuteReader()); 

      return View("Index", table); 
     } 
    } 
} 

一個簡單的代碼片段,以從數據庫中選擇的所有名稱與模型設置爲一個DataTable返回索引視圖。

+11

不要這樣做。保持你的控制器亮,並創建一個數據訪問層。 – 2009-07-08 18:40:02

1

你當然可以。它和ASP.NET應用程序中的通常情況一樣,就像這裏其他答案指出的那樣。

....但是,我更喜歡使用工具來生成我的數據訪問層。一些頂級的選擇,現在是nHibernate,並且LLBLGen Pro,甚至Microsoft's Entity Framework

我個人與NHibernate或LLBLGEN走親,這取決於如果你想擁有你的數據訪問層的「領域驅動設計」驅動的(NHibernate的)或「數據驅動的設計」(LLBLGEN臨)

0

大廈關閉@ user102220回答的:

建立一個數據訪問層(只是一個單獨的類或編班),然後從您的控制器調用這些。根據需要應用ADO.NET。