2011-11-27 21 views
1

我對Web開發的瞭解我一方面可以信賴。爲了改變這種情況,我開始研究asp.net網頁,因爲這種技術似乎對技術有很低的入口限制,並且很好地符合我的觀點,在HTML之上。Web Matrix(或ASP.NET Web Pages)是否具有內置的ORM?

我一直在通過一些樣品,並引起了我的注意。要創建一個連接,查詢數據庫,你只需要做到這一點:

@{ 
    var database = Database.Open("deanvmc"); 
    var sqlQuery = "SELECT * FROM Articles"; 
    var data = database.Query(sqlQuery); 
} 

,從我似乎能夠從返回的表訪問在以下時尚的行數據:

@foreach(var row in data) 
{ 
    <article> 
     <h3>@row.Heading</h3> 
     <nav> 
      <ul> 
       <li>@row.DatePosted</li> 
       <li>@row.Category</li> 
       <li>0 Comments</li> 
      </ul> 
     </nav> 
     <p>@row.SubHeading</p> 
    </article> 
} 

這是一個ORM嗎?假設行中包含的對象將始終映射到從sqlQuery返回的列是否正確?

此外,這是webmatrix作爲一個堆棧或asp.net網頁作爲庫的功能?我對一個結束和另一個開始的地方有點困惑。

回答

2

上面的代碼不使用ORM - 它只是將從數據庫視圖返回的字段映射到由查詢返回的行對象。所以你的假設是正確的 - 所有的對象屬性都被映射到查詢返回的列。

WebMatrix本身只是一個Web開發工具 - 它提供了編輯器,模板和其他開發工具類型的東西。您正在使用的庫(具有Razor & C#的ASP.NET Web頁)是您的應用程序構建於其之上的堆棧。 WebMatrix恰好也支持PHP等非.NET技術,並可能在未來支持更多。

我知道這是一種開放式的,但希望我有一些幫助。快樂編碼!

+0

其實它幫了很大忙,我還發現了更多關於數據訪問的信息,即Microsoft.Data.dll,它似乎是ADO.NET的一個包裝,它提供了對數據的簡化訪問。我仍然在消化,但我正在得到更好的處理。 – deanvmc