不错的东西: AutoMapper

来源:互联网 发布:8051单片机工作原理 编辑:程序博客网 时间:2024/04/27 19:52

详细信息可阅读原文:http://csharppulse.blogspot.in/2013/08/crud-operations-using-automapper-in-c_381.html


这东西可简化将模型转换为实体的代码,具体可看代码:

目前习惯写法的代码:

public ActionResult Details(int? id)        {            var dbContext = new MyDBDataContext();            var userDetails = dbContext.Users.FirstOrDefault(userId => userId.UserId == id);            var user = new LearningMVC.Models.User();            if (userDetails != null)            {                user.UserId = userDetails.UserId;                user.FirstName = userDetails.FirstName;                user.LastName = userDetails.LastName;                user.Address = userDetails.Address;                user.PhoneNo = userDetails.PhoneNo;                user.EMail = userDetails.EMail;                user.Company = userDetails.Company;                user.Designation = userDetails.Designation;            }            return View(user);        }

使用AutoMap后可这样写:

public ActionResult Details(int? id)        {            var dbContext = new MyDBDataContext();            Mapper.CreateMap<LearningMVC.User, LearningMVC.Models.User>();            var userDetails = dbContext.Users.FirstOrDefault(userId => userId.UserId == id);            LearningMVC.Models.User user = Mapper.Map<LearningMVC.User, LearningMVC.Models.User>(userDetails);            return View(user);        }