【发布时间】:2011-05-04 15:27:24
【问题描述】:
我想知道使用 NHibernate、AutoMapper 和 ASP.NET MVC 的“最佳实践”。目前,我正在使用:
class Entity
{
public int Id { get; set; }
public string Label { get; set; }
}
class Model
{
public int Id { get; set; }
public string Label { get; set; }
}
实体和模型的映射如下:
Mapper.CreateMap<Entity,Model>();
Mapper.CreateMap<Model,Entity>()
.ConstructUsing( m => m.Id == 0 ? new Entity() : Repository.Get( m.Id ) );
在控制器中:
public ActionResult Update( Model mdl )
{
// IMappingEngine is injected into the controller
var entity = this.mappingEngine.Map<Model,Entity>( mdl );
Repository.Save( entity );
return View(mdl);
}
这是正确的,还是可以改进?
【问题讨论】:
-
好吧,想想你的项目,以及你需要实现的所有东西,如果这种方法会给你带来任何问题
标签: nhibernate asp.net-mvc-2 automapper