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> Products12         {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> Products12         {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             else23             {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》英文原版教材个人勘误相关推荐

  1. 《Pro ASP.NET MVC 3 Framework》学习笔记之一【MVC的历程,优点,HelloWorld】

    序论:asp.net mvc出现已经有两三年的时间了(2009开始1.0版本),但是这么方面的中文学习资料仍然非常少,特别是asp.net mvc3,几乎就没有中文的学习书籍.在英文的书籍中有两本是非 ...

  2. 《Pro ASP.NET MVC 3 Framework》学习笔记之九【Ninject的使用-下】

    接着上次的Ninject的笔记,如果你是初次路过,可以先看看我前面的笔记. 一,创建依赖链(Chains of Dependency) 当我们向Ninject请求创建一个类型时,Ninject会去检查 ...

  3. 《Pro ASP.NET MVC 3 Framework》学习笔记之四【领域模型介绍】

    主题:应用领域驱动开发(Applying Domain-Driven Development) Domain Model是MVC程序的"心脏",其他的一切,包括Controller ...

  4. Pro ASP.NET MVC 3 Framework 译文(一)

    ASP.NET MVC3简介 2011年10月22日 12:49 对于使用微软平台的开发人员来说,ASP.NET MVC框架有了一个根本的转变.它强调"干净的"体系.设计模式.可测 ...

  5. 《Pro ASP.NET MVC 3 Framework》学习笔记之十七【示例项目SportsStore】

    接下来是关于SportsStore的后台管理功能,也就是通常的CRUD操作. 首先添加一个AdminController,代码如下: View Code using System.Web.Mvc; u ...

  6. 《Pro ASP.NET MVC 3 Framework》学习笔记之五【依赖注入及ninject工具使用】

    一,创建松耦合的组件 1."分解关注点"是MVC模式里面一个非常重要的特性.我们想要在应用程序里面创建的组件尽可能的独立,这样我们就能管理比较少的依赖关系.理想情况下,每个组件都是 ...

  7. 《Pro ASP.NET MVC 3 Framework》学习笔记之十四【示例项目SportsStore】

    前面给SportsStore添加了分页的功能.接着我们添加导航控制,通过左边的菜单来分类显示数据. 首先修改SportsStore.WebUI.Models下的ProductsListViewMode ...

  8. 《Pro ASP.NET MVC 3 Framework》学习笔记之十三【示例项目SportsStore】

    接着我们添加一个分页功能.修改ProductController,如下所示: public class ProductController : Controller {public int PageS ...

  9. 《Pro ASP.NET MVC 3 Framework》学习笔记之二十七【视图1】

    在前面很多的章节里面的,最常用的action result是视图呈现并返回给客户端的ViewResult类型.本章会专注于视图的原理,首先展示MVC框架是如何使用视图引擎处理ViewResults的, ...

最新文章

  1. 数据科学的积累:海平面下的冰山 | 清华信息技术研究院郑方
  2. python文件读写r+_python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)
  3. 小众编程语言同样值得你关注
  4. eclipse连接Mysql和测试
  5. python与正则表达式(part6)--re模块使用
  6. java decimal_java DecimalFormat常用方法详解
  7. AllsitePasswd 全站密码访问插件 支持自定义主题模板
  8. BioSPPy - Biosignal(生物信号处理库)
  9. arcmap中使用python_ArcMap - 使用python更新列中的值
  10. 设计模式之禅之设计模式-状态模式
  11. Linux:rm命令的用法
  12. 三维点云学习(4)5-DBSCNA python 复现-2-kd-_tree加速
  13. Ubuntu 下实现类似Everything的功能
  14. java 获取excel的行数_JAVA使用POI获取Excel的列数与行数
  15. Java程序设计 试卷A
  16. PE文件资源解析(十一)对话框资源的解析
  17. 利用压缩文件修改加密word文档
  18. 车载基础软件——基础软件验证平台
  19. What are Kernels in Machine Learning and SVM?
  20. 传智播客.黑马程序员,学C++不再难!

热门文章

  1. jQuery offset( ) 方法
  2. 2021年1-9月墨天轮最受欢迎的20篇技术文章
  3. 港科夜闻|香港科大研究团队解开鳞足螺基因密码,为探索深海生物的潜力奠定基础...
  4. typora使用PicGo自动上传图片到chevereto图床服务器
  5. 是否安装成功MAMP自测(Mac版本)
  6. PHP的学习与MYSQL高级
  7. kpi绩效考核流程图_关于KPI运用,KPI绩效考核如何运作起来(内含企业KPI实例之详解)...
  8. 【背景图片素材库一】值得您收藏
  9. 屏蔽 iOS 更新已失效,请及时卸载更新
  10. 【社区图书馆】操作系统的经典书籍