然而,现在我想编写一个使用这种模式的应用程序,但我想要从存储库提供程序中删除实体类.
我将创建几个程序集:
>“接口”程序集,它将承载包括IRepository接口在内的公共接口
>一个“实体”组件,其将承载诸如产品,用户,订单等实体类.该程序集将由“接口”程序集引用,因为某些方法将返回这些类型或数组.此外,它将被主应用程序组件(如Web应用程序)引用,
>一个或多个Repository提供程序汇编/程序集.每个将包括(至少)一个实现IRepository接口的类,并且它将与某个Data Store一起使用.数据存储可以包括sql Server,Oracle服务器,MySQL,XML文件,Web / WCF服务等.
研究LINQ to sql在实现所有时间方面看起来非常有成效似乎很好,直到我发现生成的类和CustomDataContext类之间的深度依赖关系.
解决方法
对我来说,听起来您希望提供商返回DTO,然后您想将DTO映射到存储库/服务层中的域对象.如果是这样,您可以将LINQ to sql提供程序映射到DTO,将其返回,然后将DTO映射到存储库/服务层中的域对象.这应该是正常的,但它可能会变得乏味,因为你现在将有2个映射图层.
在这种情况下你会有:ProductService,它需要一个IProductRepository.它引发了IProductRepository上的方法来获取您的DTO.然后,将DTO映射到真实的业务对象,并将其返回给调用代码.
原文地址:https://www.jb51.cc/mssql/75213.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。