如何在N层架构中维护交易

Dr.*_*len 4 architecture asp.net transactions n-tier-architecture

我正在开发N-Tier架构中的应用程序.众所周知,我们需要在插入/更新/删除操作时实现事务.请告诉我如何在N-Tier架构中使用c#.net中的事务.我的架构就像这个Applicationform-> middle_Layre-> Factory-> DataAccessLayre-> StoredProcedure->表格在应用程序中我创建了middleLayer的对象并在中间层的Insert/update/delete函数中传递数据.我在factoryclass中创建sqlcommand的对象并填充我从中间层获取的数据并将该对象os sqlcommand传递给DAL.

Rob*_*vey 8

以下是您可以遵循的代表性软件层模式:

Database <-> DAL <-> Repository <-> BLL <-> Controller <-> View Model <-> UI
Run Code Online (Sandbox Code Playgroud)

哪里

DAL == Data Access Layer (aka ORM, Object-Relational mapper)
BLL == Business Logic Layer*
Run Code Online (Sandbox Code Playgroud)

在此模型中,事务在存储库中进行,其中安排了"工作单元".通常,这通过从DAL请求数据,对其执行工作以及保存更改来实现.DAL通常会围绕您的工作单元进行交易.

数据库,DAL,存储库和BLL共同形成了MVC(模型 - 视图 - 控制器)架构中的模型.所有业务逻辑和数据操作都在模型中进行.控制器充当模型和视图模型/ UI之间的中间人,它们共同形成视图.

存储库是您设置"工作单元"的地方.

*可选

  • 是的,这就是"工作单位".MVC架构只是一个例子.简而言之,您的事务应与业务逻辑位于同一层. (2认同)