- Feb 22 Wed 2012 13:02
LINQ to SQL語句(1)之Where
- Feb 21 Tue 2012 01:08
ASP.NET MVC-MvcCaptcha驗証碼控制項
- Dec 15 Thu 2011 11:14
ASP.NET 多語國系支持
- Dec 10 Sat 2011 14:36
Telerik Extensions for ASP.NET MVC
- Dec 09 Fri 2011 13:56
WCF REST Service開發
- Dec 05 Mon 2011 12:24
HtmlHelper 整理
- Nov 30 Wed 2011 02:40
[EF]何謂Entity Framework?
ASP.NET Entity Framework是一個Object/Relational Mapping(ORM)的解決方案,可以將用來和客戶溝通用的概念模型(Conceptual Model,又稱Domain Model)與資料庫中的資料表與關聯所構成的儲存模型(Storage Model,又稱Logical Model),進行妥適的對應(Mapping),形成所謂的Entity Data Model。 Entity Data Model是一個以XML為基礎的檔案,附檔名為.EDM。Visual Studio 2010有提供視覺化的designer工具,程式設計師可以先產生EDM檔案,再自動生成資料庫;如果資料庫已事先建立好,亦可以由現有的資料庫來生成EDM檔案。前者即所謂的Model First模式,而後者為Database first。不過,目前ADO.NET Team在CTP已釋出另一種稱為Code First的模式,Code First基本上是一種Model First模式,只是Code First並不需要使用視覺化的designer工具先生成Model,而是直接在程式定義Domain Model,並使用Code First相關的API及基礎類別,當程式執行時由Entity Framework自動判斷底層的資料庫是否存在,以及schema是否一致;如果資料庫不存在,則Entity Framework會自動建立資料庫。 使用Entity Data Model有一個不錯的優點,即當使用的儲存方式(persistence)改變時(如Access換成SQL),只要改變Storage Model及對應(Mapping)即可,不需要修改Conceptual Model。由於Conceptual Model就是應用程式的Domain Model,並且以Object Layer的方式呈現,這代表著儲存方式的改變可以不需要修改程式碼。 不過,如果使用Visual Studio 2010的designer自動生成Entity Data Model,其生成的Conceptual Model與儲存方式仍有相當高的關聯性;因此,自動生成之Conceptual(Domain) Model可以由程式設計師自行定義類別的方式來加以擴展。一般而言,以自行定義類別方式來擴展Conceptual Model都是使用.NET框架所提供的基本型別來定義類別,這也就是所謂的POCO物件(Plain-Old CLR Objects)。需要注意的是,POCO類別的定義有一定的命名慣例(convention over configuration),要繼承的類別以及需實作的介面(interface)也有特別的規定。 另外,Entity SQL或LINQ都可以對Conceptual Model的物件進行查詢。Entity SQL雖然與關聯式資料庫的SQL相似,但Entity SQL有自己的資料型別及函數;而LINQ則是語接內建的語法,可以透過compiler自動轉譯成各種不同的查詢,使用上相對較有彈性。 PS. 基本上LINQ的語法應該可以視為array或collection等類型的資料結構處理命令,其功能主要是提供集合(set)的運算,可降低以循序運算來處理集合運算的寫碼負擔。因此,LINQ並沒有太特殊的地方,將LINQ再細分為LINQ to Object,LINQ [...]
- Nov 30 Wed 2011 02:12
LINQ 速查表(Cheat Sheets)
- Nov 23 Wed 2011 00:43
HTTP回應狀態碼整理(Http Status Code)
在Web網頁開發上,由於是透過http的協定來傳輸網頁資料,因此常需要藉由http回應的代碼來判定伺服器所回應的狀態,這是佈署網站或找尋發佈的網頁錯誤的根據之一,因此在下一個單元進入正式撰寫程式碼之前,對於開發或上線的網站,有時會出現諸如找不到網頁或是其他的問題,IE瀏覽器成現一片空白或是有其他的狀態碼,這時就要藉以判斷狀況,並且加以找出原因,本機電腦只是開發方便,開發好的程式最終還是要放到主機上,因此,工程技術人員,不能當個出不了本機的工程師,也就是說本機電腦上一切問題都能解,但出了本機電腦,就一切都無法解決了.
常用的回應代碼如下,更詳細的可以自行上網查找
- Nov 10 Thu 2011 15:01
無法載入檔案或組件'xxx'或其相依性的其中之一。 試圖載入格式錯誤的程式。