相关疑难解决方法(0)

将DTO映射到域对象的最佳实践?

我已经看到很多关于将DTO映射到Domain Objects的问题,但我觉得他们没有回答我的问题.我之前使用过很多方法并有自己的看法,但我正在寻找一些更具体的东西.

情况:

我们有很多域对象.我们使用CSLA模型,因此我们的域对象可能非常复杂,并且包含自己的数据访问.你不想在线上传递这些.我们将编写一些新服务,以多种格式(.Net,JSON等)返回数据.出于这个(以及其他原因),我们还创建了一个精简的数据传输对象,以便在线路上传递.

我的问题是如何连接DTO和Domain对象?

我的第一反应是使用Fowler,DTO模式类型的解决方案.我已经多次看过这件事了,对我来说感觉很对.域对象不包含对DTO的引用.调用外部实体("映射器"或"汇编器")以从域对象创建DTO.通常在域对象端有一个ORM.这样做的缺点是"映射器"在任何真实情况下都会变得非常复杂,并且可能非常脆弱.

提出的另一个想法是域对象"包含"DTO,因为它只是一个精益数据对象.域对象属性将在内部引用DTO属性,如果需要,可以返回DTO.我可以看到没有问题,但感觉不对.我看过一些使用NHibernate的人似乎使用这种方法的文章.

还有其他方法吗?以上是值得使用的方式之一吗?如果是,如果没有,为什么?

感谢您提前了解任何信息.

.net asp.net design-patterns dto

72
推荐指数
4
解决办法
5万
查看次数

ASP.NET MVC - Linq to Entities模型作为ViewModel - 这是一个好习惯吗?

快问题真的.

我目前正在使用asp.net MVC和实体框架构建一个站点.我有几个存储库,它们返回实体或实体列表.我发现在我的大多数页面中,我不得不从各种相关表中提取数据.只要我在查询中使用"include"加载相关实体,这是可以的 - 但这是一个好习惯吗?

创建一个自定义的viewmodel对象是否更好,它只包含我需要的信息,或者没有任何"错误"来拉动一个可能有5-6个表深度的对象图,只是为了在视图中显示你需要的内容?

如果这个问题没有多大意义,请道歉.我可能从根本上误解了应该如何使用模型:)

谢谢

asp.net asp.net-mvc viewmodel

9
推荐指数
1
解决办法
2065
查看次数

MVC如何保持模型瘦

观看此视频后,我想知道我是否使用了我的控制器.控制器到底应该包含什么?

对于我的博客,我有一个帖子控制器,它有方法:创建show list loadPost就像不喜欢

而我的帖子模型只有一些访问规则,验证规则和关系信息.网上有MVC应用程序的例子吗?

model-view-controller controller model

1
推荐指数
1
解决办法
1269
查看次数