Fork me on GitHub
MVC自学历程3--项目开始

周末又来了,每次周末的时候总结总结上周,在做做自己感兴趣的事情也是很惬意的一件事。

  这个星期我很痛苦。

  原因1:一个星期都在写文档,公司的成功案例。使我感觉小公司程序员必须万能,星期一做出来的领导直接说了句看都不能看,后来陆续改了2天才好。

  原因2:域名备案各种失败,扫描件要用黑笔签名,按手印之类的原因。

  原因3:一个月前给一客户做的导入数据库的小工具出现BUG,改的我头大。

  好在最后都解决了,真是累人忙碌的一周。

  

  好了,扯够了回到项目上。前两期的环境准备和数据库设计告一段落,这期开始项目建设,建设前我打算系统介绍下本项目。

  前台:   用户可以选择配件打造属于自己的DIY配置

  后台管理: 管理员可以管理各种硬件、用户的配置、用户、进行管理。

  数据库:  上篇有详细的介绍。

  总的来说,主题就是配置,配置又是由各种配件组成。

    首先从后台开始做起,新建项目什么的就不说了。项目添加EF引用,配置文件修改后可以开始了。

    第一步,根据上篇的数据库设计,建立Model,(用代码生成工具建的我)

    然后建一个DbContext类,注意添加引用using System.Data.Entity.ModelConfiguration.Conventions;

复制代码
 public class PcDiyBBSDBContext : DbContext
    {
        public DbSet<User> User { get; set; }
        public DbSet<CPU> CPU { get; set; }
        public DbSet<Ram> Ram { get; set; }
        public DbSet<HardDisk> HardDisk { get; set; }
        public DbSet<GraphicCard> GraphicCard { get; set; }
        public DbSet<Chassis> Chassis { get; set; }
        public DbSet<MainBoard> MainBoard { get; set; }
        public DbSet<Power> Power { get; set; }
        public DbSet<Supplier> Supplier { get; set; }
        public DbSet<XinPianGroup> XinPianGroup { get; set; }
        public DbSet<ChaCao> ChaCao { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();//移除复数表名的契约
        }
    }
复制代码

    然后可以开始添加控制器了,由于会有很多硬件对象需要列表管理,所以建一个ListController.  

    首先 实例化刚才建的那个类,PcDiyBBSDBContext db = new PcDiyBBSDBContext();

    然后为了模块化, 多写几个#region #endregion吧

    

    首先是用户 写一个方法

复制代码
public ActionResult GetUser()//获取用户
{
            var users = from m in db.User
                        select m;

            return View(users.ToList());
}
复制代码

    在方法名上右键添加视图

    

    选择强类型视图。

    然后在添加的视图里面,按自己的模板开始套属性 例如

    启动浏览后

成功了。

  就这样吧别的硬件都搞定了。

  但是遇到一个问题,正在学习中。就是连接查询,View改如何显示

 var MainBoard = from m in db.MainBoard
                            join j in db.Supplier on m.Supplier equals j.ID
                            select new { m.Name, m.PingTai, m.Price, m.Atx, j.Introduce };

            return View(MainBoard.ToList());

假设我 j也有一个属性是Name我该怎么写语句select new { m.Name, m.PingTai, m.Price, m.Atx, j.Name} 会报错,因为两个Name 。还有VIEW改如何显示?

  Item监视是有Name属性的,可是却会报错。我估计是view头部  @model IEnumerable<DiyPC.Models.MainBoard> 这句话的原因。

  展示下成果吧:(声明:后台模板套用的是@kudy的,在此表示感谢!)

 

  发现水平不够,理解不透就无法写出详细教程。不过没关系,慢慢来,写这些博客是为了见证这个项目的成长和自学的过程。

  PS:求MVC3的相关书籍推荐。

 

 
分类: MVC自学项目

MVC自学项目

 
摘要: 周末又来了,每次周末的时候总结总结上周,在做做自己感兴趣的事情也是很惬意的一件事。 这个星期我很痛苦。 原因1:一个星期都在写文档,公司的成功案例。使我感觉小公司程序员必须万能,星期一做出来的领导直接说了句看都不能看,后来陆续改了2天才好。 原因2:域名备案各种失败,扫描件要用黑笔签名,按手印之类的原因。 原因3:一个月前给一客户做的导入数据库的小工具出现BUG,改的我头大。 好在最后都解决了,真是累人忙碌的一周。 好了,扯够了回到项目上。前两期的环境准备和数据库设计告一段落,这期开始项目建设,建设前我打算系统介绍下本项目。 前台: 用户可以选择配件打造属于自己的DI...阅读全文
posted @ 2012-07-25 14:46 Revolution@Ye 阅读(625) | 评论 (10) 编辑
摘要: 首先感谢下上篇博文http://www.cnblogs.com/revolution/archive/2012/07/13/2582050.html回帖的人,我博客之前从没有人回复,你们是第一批! 今天是周六打算静下心来想想这个项目的数据库,窗外雷雨不断,阴沉沉的。 昨晚想了下,这个模拟装机的功能可能并不是很多人都会用到,但是这是自己一直想做的所以不能放弃,继上篇博文后,我学了些简单的教程,也做好了基于AJAX Jquery登录功能,这篇博文主要是数据库设计。 新建数据库PcDiyBBS 为了应对MVC开发,建表时考虑到面向对象,所以就分的比较细。 说明: 所有硬件表都有价...阅读全文
posted @ 2012-07-14 20:04 Revolution@Ye 阅读(1108) | 评论 (5) 编辑
摘要: 前段时间看了园子里某毕业生的博文(请原谅我记性不好,把你ID忘了),主要是说他作为一个ASP.NET程序员毕业一年所掌握的技术与成长。看了感触蛮多,我也毕业8个月了,回顾自己的技术,发现简直不值一提啊,和那位毕业生比起来也差远了,起码我知道现在我一个人连一套CSS都写不出来,切片什么的更不要说了,我另外一个毕业生朋友也是毕业一年,做JAVA的,这两天问起他的工资,30K左右,又把我雷了个外焦里嫩,我顿时如梦初醒,人家学习学的累死累活的时候,我正玩的累死累活,他下班自学时,我在打暗黑3,他熬夜自学时,我在看欧洲杯,仅仅是一年时间,我们之间的距离却让我无地自容,不论工资,单论技术与勤奋,我就已..阅读全文
posted @ 2012-07-13 17:20 Revolution@Ye 阅读(389) | 评论 (17) 编辑
posted on 2012-07-25 20:40  HackerVirus  阅读(192)  评论(0编辑  收藏  举报