DotNetNuke数据层

时间:2012-10-04 22:56:53

标签: dotnetnuke

我正在尝试了解Dot Net Nuke源代码。任何人都可以简要解释数据层的实现方式吗?

我试图在调用存储过程的代码中找到它。

我已经在线阅读了一些视频教程,并且我已经阅读了一些博客,但我还没有找到答案。

1 个答案:

答案 0 :(得分:3)

DotNetNuke'数据层'是DotNetNuke.SqlDataProvider

数据层使用抽象的“DataProvider”模型,其中实际的提供程序在运行时确定。实际上,这通常是SqlDataProvider,它使用Sql Server数据库作为DotNetNuke的数据存储区。

理论上,您可以通过编写数据提供程序的不同实现来编写数据提供程序,以允许在DotNetNuke应用程序与任何类型的数据库或数据存储之间进行访问。我想很久以前可能会有一个oracle,但几乎每个安装都使用Sql Server作为数据存储。

SqlDataProvider传统上位于Microsoft.ApplicationBlocks.dll组件之上,因此实际的存储过程调用是通过该层执行的。

DotNetNuke核心的大多数模块和其他扩展也使用自己特定的数据提供程序实现,尽管为简单起见,将Sql数据层构建到单个程序集中已经成为惯例。

您会发现大多数存储过程都会被执行,然后通过CBO对象传回,以便从IDataReader结果集转换为特定对象。

为了找到一个例子,我会选择一个捆绑的核心模块并研究它,就像Html / Text模块一样。

最后,随着DotNetNuke 7的出现,数据提供商模型进入了自DotNetNuke 1.0发布以来的第一次重大修订,即数据访问层2(dal2)。我建议阅读Charles Nurse的一些博客:

Charles Nurse Blog : Entries for 'dal2'