从BI层引用实体框架程序集是否可以接受?

时间:2013-10-18 19:24:42

标签: c# entity-framework architecture dto

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

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

1 个答案:

答案 0 :(得分:1)

这就是我不喜欢EF的原因。为了隐藏你正在使用数据库的事实,你必须隐藏这样一个事实:EF正在为你创建所有这些漂亮的可爱课程。

由于EF类具有可导航的关系,并且这些关系仅在实体附加到上下文时才可行,因此您不能通过线路将它们连接到API客户端。

嗯,你可以,但是每当你失败时,他们都会生气,例如,包括Get调用的相关记录。

就个人而言,我会留下漏洞。如果不完全(咳嗽小咳嗽),那就把你的羞耻隐藏在DL中。