《Pro ASP.NET MVC 3 Framework》英文原版教材个人勘误
2011年6月27日,Apress今年比較吸引人的《Pro ASP.NET MVC 3 Framework》一書終于發布了。
http://www.apress.com/9781430234043
此書詳細的為大家講解了ASP.NET MVC 3的各個方面,并同時介紹并貫穿著Entity Framework 4.1、領域模型(Domain Model)設計、測試驅動開發(TDD)、基于Ninject的依賴注入、Moq模擬倉庫等技術的運用,是一本不可多得的有關ASP.NET MVC 3的好書。
不得不說中文版的ASP.NET MVC系列教材太少了,MVC3的更是沒有,所以讀英文原版教材是最佳方案,這可以讓你始終同技術發展保持同步,至少領先國內絕大多數人一步,而且還不會被中文翻譯所誤導。
不過在讀此書的過程中,發現作者還是有許許多多錯誤的,一些很明顯的錯誤我就不記錄了,在此我將在讀書的過程中記錄一些初次接觸新技術的人不太容易糾正的錯誤,分享給大家。
267頁:Listing 9-13. Implementing the SaveProduct Method
錯誤 1 using System.Linq;2 using SportsStore.Domain.Abstract;
3 using SportsStore.Domain.Entities;
4
5 namespace SportsStore.Domain.Concrete
6 {
7 public class EFProductRepository : IProductRepository
8 {
9 private EFDbContext context = new EFDbContext();
10
11 public IQueryable<Product> Products
12 {
13 get { return context.Products; }
14 }
15
16 public void SaveProduct(Product product)
17 {
18 if (product.ProductID == 0)
19 {
20 context.Products.Add(product);
21 }
22
23 context.SaveChanges();
24 }
25 }
26 }
這里的問題是產品信息編輯調用的數據倉庫保存方法無法正確保存修改后的數據,由于本人對EF4.1不熟悉所以在這里花費了半天時間找到了問題所在,就是少寫了將傳入參數保存進上下文的代碼,需要注意的是必須先要引用System.Data.Entity程序集到SportsStore.Domain項目中。
正確 1 using System.Linq;2 using SportsStore.Domain.Abstract;
3 using SportsStore.Domain.Entities;
4
5 namespace SportsStore.Domain.Concrete
6 {
7 public class EFProductRepository : IProductRepository
8 {
9 private EFDbContext context = new EFDbContext();
10
11 public IQueryable<Product> Products
12 {
13 get { return context.Products; }
14 }
15
16 public void SaveProduct(Product product)
17 {
18 if (product.ProductID == 0)
19 {
20 context.Products.Add(product);
21 }
22 else
23 {
24 context.Entry(product).State = System.Data.EntityState.Modified;
25 }
26
27 context.SaveChanges();
28 }
29 }
30 }
轉載于:https://www.cnblogs.com/howiehu/archive/2011/07/20/2111433.html
總結
以上是生活随笔為你收集整理的《Pro ASP.NET MVC 3 Framework》英文原版教材个人勘误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js的基本语法
- 下一篇: 启动计算机的程序方法单击,启动Windo