周末又来了,每次周末的时候总结总结上周,在做做自己感兴趣的事情也是很惬意的一件事。
这个星期我很痛苦。
原因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的相关书籍推荐。