C# C语言中的程序集间聚合#

C# C语言中的程序集间聚合#,c#,persistence,C#,Persistence,我有一个.NET解决方案,其中包含4个库项目,生成4个程序集 这些程序集中的类在线性工作流中生成某些部分信息。 通过信息=生成,我指的是一些业务逻辑信息,包括时间戳、记录等。 必须插入此信息的最后一个表包含16列…这些程序集中的每个程序集只有4列的可记录信息。 我的目标是聚合所有这些信息,并在一个DB调用中将其记录到数据库中…而不是执行4次 更清楚地说,命名空间a中的一个类(命名空间/程序集a导入/使用B和C)。。。分别在B和C中实例化一个类 我无法访问namespaceA中类的B和C类中的方法

我有一个.NET解决方案,其中包含4个库项目,生成4个程序集

这些程序集中的类在线性工作流中生成某些部分信息。 通过信息=生成,我指的是一些业务逻辑信息,包括时间戳、记录等。 必须插入此信息的最后一个表包含16列…这些程序集中的每个程序集只有4列的可记录信息。 我的目标是聚合所有这些信息,并在一个DB调用中将其记录到数据库中…而不是执行4次

更清楚地说,命名空间a中的一个类(命名空间/程序集a导入/使用B和C)。。。分别在B和C中实例化一个类

我无法访问namespaceA中类的B和C类中的方法中生成的信息。但我想聚合所有信息,并在一次插入中将其推送到数据库

我应该如何处理这个问题?
我想在所有这些不同的程序集中持久化数据,并在一次调用中将数据记录到数据库中。如何持久化数据?

就我所能解释的问题而言,我想您可能会从访问每个信息生成类、编译数据、,然后,最终可以要求将编译后的数据发布到其他地方。

如果您希望同时插入由类A、B和C生成的数据,则需要能够在插入点访问所有这些数据

如果,如您所说,B和C对A不可用,您是否考虑过一个单独的类(例如,在它自己的程序集中)只涉及持久性

这样的类可以引用a、B和C,从每个类中提取数据(假设它们以某种方式公开了它们的数据……如果没有,我不知道您将如何完成您所寻求的),聚合该数据并插入它


这样,A、B和C彼此都不知道,也不知道保存数据的类。

如果我理解你的要求,那就没有意义了

如果您有单独的类生成应该记录的数据,那么这些单独的类应该记录数据。任何其他类都不应该知道单个类感兴趣的数据


让您的日志框架处理将日志信息捆绑到适当数量的数据库调用中。这是日志框架的一个实现细节。

您已经(糟糕地)描述了如何实现这个框架,但是您还没有说明要实现什么-为什么要这样做?此外,方法和程序集都不是实例化的。@johnsaunders指出;问题已编辑…希望这能建立清晰性…不会太多。“生成的信息”是什么?@John Saunders问题重新编辑;信息只是可记录的业务逻辑…但仅部分可用。。。在不同程序集中的每个单独类中。我认为这些程序集是一个转移视线的问题。如果您不想对现有代码进行任何更改,这将对我的visitor/Collection参数起作用…它自己的程序集中的单独类提取数据…已经考虑过了,我有一个确切的问题,即如何从中公开此数据源程序集。我同意……但我面临的问题是关于该实现的。假设我的日志框架有DTO…表示最终聚合。每个单独的类…填充DTO…但是如何在这里保存这些信息?A.填充到(p1、p2、p3)。。。接着说C.PopulateDTO(p5,p6)。。。p1、p2、p3将如何持久化?您不使用DTO,也不进行聚合。使用XML、名称/值对或其他通用信息。