學習資料:
視訊建立的控制台應用程式,我在這裡使用MVC。
一、非常有磁性的,非常優雅
很喜歡看這個人的視訊,雖然我聽不太懂,也不知道他叫什麼。他的聲音非常有磁性,讓我。。。,讓我。。。。。。,百聽不厭。
看到了嗎?他一邊講解,代碼就一邊流暢的顯示在螢幕上,讓你懂得,什麼是優雅。
原來也看過,但發現動手時還是無從下手,是以,不僅應該學習代碼,還應該學習流程,先做什麼,後做什麼,為什麼要這樣做。
二、建立MVC項目
環境:vs.net2013 sql2008 ef6.1 mvc5
身份驗證選擇個人使用者賬戶,隻是免去自己添加驗證JS的麻煩,實際開發使用 無身份驗證。
三、建立模型
就像以前要先建立資料庫一樣,現在是先建立模型。
因為使用的是個人身份驗證,是以系統自動生成一些Controler/Model/View,不用管它。
代碼是我複制的,說明如下:
1、BlogId 這樣寫能與外鍵列名保持一緻,感覺這樣好點
2、類名用的是Blog,而不是Blogs。實體一般用單數,在生成資料表是,會自動添加成複數表名 Blogs。
3、Post類還未建立,是以報錯。但現在我們使用的是Code
First,可以這樣寫,因為我們現在也不編譯。在寫一個實體類時,即使沒有設計文檔,心裡也應該有個框框了,要建哪些實體,實體之間有什麼關聯。
4、Post類一樣使用單數形式,而集合使用的是同名複數 Posts 。
5、virtual
用于延遲加載,也就是你在使用Blog實體對象時,如果不使用相關聯的Post表中的資料,系統就不加載,你使用的時候,才到資料庫查詢相應的Post資料。
這樣可能要通路兩次或多次資料庫,是以一般不會使用延遲加載,而是在需要時将需要的字段一次性取回。
因為是CodeFirst,是以,寫實體屬性時,應該也順便将正常的特性加上:
在Name上面輸入[],在裡面輸入Display ,我就會拼這個單詞,是以,每次都用她

在Display上右鍵,導入命名空間。
也可以這樣,輸入完Display後按Ctrl + . ,然後回車,爽不?
弄成這樣:
加上長度(20)還是有點用的,否則如果不小心輸入了100個字元,不僅沒有必要,你還要考慮清單顯示的問題了。
四、建立上下文
上面隻是建立了兩個實體類,如果要與資料庫關聯,還需要建立上下文。
五、安裝(更新)EF,需要聯網更新
若果你的VS界面下方沒有 程式包管理控制台 ,按下面方式打開:
六、編輯web.config,添加連接配接字元串
下面該幹嘛了?再看看視訊
七、生成界面
因為是全新資料庫,是以,建立了實體對象,并與上下文關聯後,就可以直接寫界面了。
先編譯一下。
八、删除原有資料庫
這時程式未運作,是以還不會生成資料庫。
先把原來的删掉,全新的嗎,原來怎麼應該有。
真真正正,幹幹淨淨
九、運作清單頁面
空的
十、添加記錄
十一,檢視資料庫
剛才沒用這個是因為連不上。
十二、模型更改
1、Enable-Migrations
2、修改實體對象
3、Add-Migration AddUrl
4、Update-Database
十三、添加新模型
十四、将實體添加進上下文
十五、Add-Migration AddUser
十六、Update-Database