首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NHibernate、AutoMapper和ASP.NET MVC

NHibernate、AutoMapper和ASP.NET MVC
EN

Stack Overflow用户
提问于 2010-08-22 03:57:50
回答 2查看 2.1K关注 0票数 4

我想知道一个使用NHibernate、AutoMapper和ASP.NET MVC的“最佳实践”。目前,我使用的是:

代码语言:javascript
运行
复制
class Entity
{
    public int Id { get; set; }
    public string Label { get; set; }
}

class Model
{
    public int Id { get; set; }
    public string Label { get; set; }
}

实体和模型的映射方式如下:

代码语言:javascript
运行
复制
Mapper.CreateMap<Entity,Model>();
Mapper.CreateMap<Model,Entity>()
    .ConstructUsing( m => m.Id == 0 ? new Entity() : Repository.Get( m.Id ) );

在控制器中:

代码语言:javascript
运行
复制
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);
} 

这是正确的,还是可以改进的?

EN

Stack Overflow用户

发布于 2010-08-23 19:44:33

我将把IMappingEngine注入到控制器中,而不是使用静态的Mapper类。然后,您将获得能够在测试中模拟它的所有好处。

看看AutoMapper的创建者提供的链接,

http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/05/11/automapper-and-ioc.aspx

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3538706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档