题
我有一个ASP.NET 应有一个三层结构:
介绍层:ASP.NET
业务层:C#图书馆。
数据存取层:C#库
ADO.Net 实体框架的对象。
一些方法在业务层将返回ADO.NET 实体对象的,但是,数据访问层是不可见的,在介绍层我不能这样做。
我的问题是:设计上看,这是正确的揭露实体对象的介绍层?我想我只需要链接的数据层的图书馆ASP.NET 应用程序。
谢谢你!
解决方案
我建议你看到的概念视的对象...或数据传输对象(也可与检).你可能考虑使用的工具,如AutoMapper或类似这将创造一个视具体领域对象出你的实体。一般的你可能有屏幕,需要一个实体本执行其工作。但是往往不你会需要通过几种不同的实体。在这种情况下你最好建立一个也可与检,其中包含所有这些实体。通过这样做,你是添加一个层之间的隔离你的演讲层和业务层。往往你的实体有更多的权力可能比你想让你的演讲层。和...反之亦然。常常可能需要得到一些UI消息了介绍层根据某种验证标记在业务层。而不是让你的用户界面更加复杂,它需要(通过在你的全部实体)可以只通过在什么UI需要的形式,也可与检.此外,没有需要你的业务对象关心任何具体的介绍层。我建议你不据绑定直接到任何东西可以追溯到数据存取层。技术上你的演讲层应该知道的尽可能少地对你的业务层。在这种情况下的MVP或视,这是非常容易实现通过不断开前端和后端的方式的这种额外的分离!
其他提示
这绝对是希望有你的实体对象的使用和消费在你的演讲层。这就是所有的工作。
- 结合对象的集合到一个网/列表视图/拉
- 溅一个单一的对象(即客户)上形成的读/update/delete
这使得你的生活更容易的通过为止。否则你会必须通过串后int后双之后串之间的介绍和业务层。
可以将这些实体的目的或甚至是你自己的POCO的对象是水分离的实体的对象。
我甚至要走这么远来说,你或实体的名单应该在他们自己会独立于达尔。
我想没有,没有,做到这一点的最好办法是单独的数据类行为,仅供参考数据类呈现的水平。好的方法我想到使用WCF看看这个 链接