1

如果 EF 模型包含在单独的程序集中并由数据访问层引用/用于所有数据库操作,是否也可以使用商业智能层的 EF 模型引用相同的程序集以简化从 DAL 到 BI 层的数据传输?

这将允许消除 DTO 对象,或者在我的情况下,Tuples我用来将数据从 DAL 传输到 BI,因为 DAL 可以只返回 BI 已经“知道”的 EF 对象。问题是,从架构的角度来看,这是否会被视为违背关注点分离或其他一些好的软件设计规则的东西?

4

1 回答 1

1

这就是我不喜欢EF的原因。为了隐藏您正在使用 DB 的事实,您必须隐藏 EF 通过创建新类为您生成所有这些漂亮可爱的类的事实。

由于 EF 类具有可导航的关系,并且这些关系仅在实体附加到上下文时才有效,例如,您不能通过网络将它们发送到 API 客户端。

好吧,你可以,但是每当你没有为 Get 调用包含相关记录时,他们会很生气。

就个人而言,我会留下泄漏的抽象。如果不完全(咳嗽精巧咳嗽),那么将您的耻辱隐藏在DL中。

于 2013-10-18T19:39:31.743 回答