C# AL想让议会提到DAL,为什么?需要更好的架构

C# AL想让议会提到DAL,为什么?需要更好的架构,c#,architecture,C#,Architecture,当我从应用层尝试我的POCO时,它尖叫着寻找缺少的对DAL(实体框架所属的地方)的引用 这并不奇怪,因为到目前为止,我的指南将其作为基类引用。 但是是这样的 “嗨,应用程序X!是的,很好,我 明白,我会把包裹给你, 但是你必须从DAL那里获取数据 你自己,好吗 必须有更好的编码方式吗? n-tier的一个要点是AL和DAL完全隔离,通过BL进行通信,这不是很重要吗 它需要缺少对DAL的引用(实体框架所属的地方) 啊-不,EntityFramework不是DAL。它是一个业务对象运行时。它包含一个

当我从应用层尝试我的POCO时,它尖叫着寻找缺少的对DAL(实体框架所属的地方)的引用

这并不奇怪,因为到目前为止,我的指南将其作为基类引用。 但是是这样的

“嗨,应用程序X!是的,很好,我 明白,我会把包裹给你, 但是你必须从DAL那里获取数据 你自己,好吗

必须有更好的编码方式吗? n-tier的一个要点是AL和DAL完全隔离,通过BL进行通信,这不是很重要吗

它需要缺少对DAL的引用(实体框架所属的地方)

啊-不,EntityFramework不是DAL。它是一个业务对象运行时。它包含一个DAL,但它基本上产生了一个以上的层

进一步公开它是完全可以的,因为它是业务OBEJCT的运行时


如果您纯粹将EntityFramework用作DAL,这是一个值得怀疑的用法。

您是通过将DAL中的一个类型用作BL中的基类来引入这一用法的;在某些方面,也许问题在于,BL使用(并披露)了太多关于DAL的信息,而这也许可以通过IoC得到更好的解决


不管怎样,要么接受它,要么期待一个大的重构。NET无法使用您的类型,如果它使用无法解析的基类或接口;因此,它需要装配参考。

这里您直接进入我的问题。如果EF不是DAL,Linq2SQL也会这样吗?在考虑n层应用程序时,我会损失什么,来分解当前的DAL(数据集)?IoC在理论上很熟悉,但我必须更好地理解如何用IoC解决这个问题?@dingir L2S比EF更接近DB。请注意,EF可以使用POCO对象-也许可以使用EF查看POCO…感谢澄清这一点。POCO正是现在呼喊出参考的东西。也许我误解了ef 2 POCO的代码用法?另一方面,人们将EF用作DAL(我想是在BL中的poco之后?)。我很清楚这一点。。我仍然在考虑如何保持大多数可维护(读取最少)代码的灵活性?我完全清楚,每个业务逻辑(读取相应的表对象)都需要一个poco,但它也应该具有良好的设计。在这个场景中,你将如何进行一个简单的poco?这个话题是我听过的最令人困惑的话题之一。。在建议的架构、代码使用和第三方/设计工具方面。我只希望它灵活(EF/Linq2sql就是这样)、代码重用和三层结构!:)。