2009-11-25 81 views
0

我有一个Users表,Events表和一个UserEvents映射。在我的代码的某些部分,我只需要基于用户的东西。在其他部分,我需要所有这些信息。 (特别是:给定用户,他们订阅的每个事件的细节是什么?)单个与多个Linq2sql存储库

如果我有一个存储库仅用于用户,另一个存储库用于用户+ events + userevents,则自动创建的用户对象将被复制直到我重命名其中的一个代码才会编译。这是可能的但不方便。另一方面,如果我只有一个包含所有3个表的存储库,那么当我只需要用户信息时,由于linq获取与该用户ID相关的所有数据,它会很昂贵吗?

在Linq2Sql中,如果在单个dbml /存储库中有多个表,它会更昂贵吗?

回答

1

Linq2Sql使用延迟加载来获取更多信息。我相信它可以配置为一次全部获取,但这不是默认行为。如果你要求一个用户,除非你特别要求他们,否则你不会得到活动。

1

我有一个在dbml中有超过100个表的项目,据我所知这不会影响实例化datacontext类的时间。