ASP.NET MVC学习(一)

这几天在学习asp.net mvc 一上来就被书中的什么依赖注入,什么单元测试搞的晕晕呼呼,根本就不理解,前天开始做书中的运动商店项目,一上来就遇到个大难题,书中的连接字符串的写法,跟以往在winform和WPF中的连接字符串不一样,网页展示不出来,没有抛异常,我估计是没有数据的缘故,但是,我的数据库中明明有数据啊。就索性照着书上的抄,还是不行,经过百度,书中所用的是loaclDB(一种轻量级的数据库)创建数据库,在创建时需要知道实例名,而这个实例名每个人可能不同,最快知道这个实例名方法是,直接创建一个MVC5的项目,在web.config中复制就行了。

   今天做完了商品展示页,但是不明白其中的运行原理。总结一下程序运行思路:

创建product类

public  class Product
    {
         public int ProductID { get; set; }
        public string ProductName { get; set; }
        public string Description { get; set; }      
        public string Category { get; set; }
        public decimal Price { get; set; }
    }

创建IProductRespository接口  商品仓库

public   interface IProductRespository
    {
        IEnumerable<Product> Products { get; }
      
       
    }

类太多了,不贴了

  测试程序,首先应该激活controller--->而在书上的这个程序中productController有个构造函数

   public ProductController(IProductRespository productRespository)
        {
            this.respository = productRespository;
        }

在下面的   public ViewResult List 方法所用的模型都是从IProductRespository接口的Products熟悉中得到,既然激活productController,接下来应该执行它的构造函数,我猜测应该是这个东西   kernel.Bind<IProductRespository>().To<EFPoductRepository>();随后执行下面这个类

public  class EFPoductRepository : IProductRespository
    {
        private EFDbcontext Context = new EFDbcontext();
        public IEnumerable<Product> Products
        {
            get
            {
                return Context.Products;
            }
        }
    }

接着执行

 public class EFDbcontext:DbContext
    {
        public DbSet<Product> Products { get; set; }
    }

下面应该回到了productController中去执行List方法

posted @ 2017-02-08 01:32  夜莫白  阅读(265)  评论(0编辑  收藏  举报