需要澄清AutoMapper的用法

时间:2010-11-05 15:45:20

标签: c# linq-to-sql design-patterns viewmodel automapper

我有一点道德困境,如果我们使用自动播放器,如果正确的方式,如果我们的架构是有效的。我是一个相对较新的开发人员,但这对我来说感觉不对。我的同事是自动播放器的忠实粉丝(可以理解,所以它摇滚),但我的问题是我们只是为了它而使用它,并试图在一个模式中敲角,因为“这就是它的完成方式”。基本上我们正在构建一个内部应用程序的Web扩展,它具有api和讨厌的Sql数据库。我们创建了许多sql视图来提取每个屏幕所需的数据。然后使用linq2sql和存储库模式调用视图,然后将数据传递到自动化数据的服务层,就像生成Viewmodel对象以传递给视图一样。我的问题是我们真的需要autmapper吗?我们的数据肯定已经处于我们可以查看的阶段了。另外一个论点就是让我们使用视图模型元数据来控制,但肯定可以通过linq2sql上的伙伴类来完成实体?

我错过了什么或这看起来是不必要的复杂吗?此外,我一直在寻找使用teleriks控件进行网格,但是我的数据和输出之间的自动转换器我不确定是否可以处理这个?

感谢任何输入;)

1 个答案:

答案 0 :(得分:1)

我已经构建了一个中等大小的ASP.NET MVC Web应用程序,听起来它的架构非常类似于您描述的内容。我们发现将LINQ to SQL对象直接作为视图模型暴露给我们的视图会在项目中产生很多摩擦,因为我们的许多视图要么合成多个LINQ to SQL对象,要么仅依赖于LINQ to SQL对象数据的子集。

在项目的后期,我们开始使用AutoMapper将LINQ映射到SQL对象以查看模型(并返回),这绝对允许我们的系统更加灵活。所以我会推荐它。