在我的 Mongo 数据库中,我有两个集合,分别是 A 和 B。类型 A 的实体有,例如,类型 B 的实体的 id 列表。这个列表只是一个字符串列表,其中每个字符串都是一个字符串B 的 ID 的表示。
我想在我的域类(以及同时的数据类)中更清楚地反映这些引用关系,以便我在 A 中有一个 B 列表,并且能够通过 LINQ 使用可能的过滤或排序来查询这个列表.
目前这是通过以下方式实现的:我有一个带有名为“MongoReferenceLoadRequested”的静态事件的 MongoReference 类。此事件的事件参数包含一种类型的引用项及其 id,它还具有 Object 类型的读写属性,实际加载的对象应该被写入其中。每当有人想要访问 A 的实例的 B 列表时,就会触发该事件。
在我的 Global.asax.cs 中,我订阅了此事件,并在处理程序中加载所需的实体并将其分配给事件 args 的属性。这样做是为了将存储 MongoDb 连接字符串的应用程序配置与没有(也不应该)访问连接字符串的 POCO 实体类解耦。
您如何看待,这是实现我的目标的正确方法吗?