单个与多个Linq2sql存储库

时间:2009-11-25 21:40:14

标签: linq linq-to-sql

我有一个Users表,Events表和UserEvents的映射。在我的代码的某些部分,我只需要基于用户的东西。在其他部分,我需要所有这些信息。 (特别是:给用户,他们订阅的每个活动的详细信息是什么?)

如果我只为用户提供了一个存储库而对用户+事件+ userevents有另一个存储库,那么自动创建的用户对象将被复制,并且在重命名其中一个之前代码将无法编译。这是可能的但不方便。另一方面,如果我只有一个包含所有3个表的存储库,那么当我只想要用户信息时,由于linq获取了具有该用户ID的所有相关数据,它是否会很昂贵?

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

2 个答案:

答案 0 :(得分:1)

Linq2Sql使用延迟加载来获取其他信息。我相信它可以配置为一次获取​​所有,但这不是默认行为。如果您要求用户,除非您特别要求,否则您将无法获得活动。

答案 1 :(得分:1)

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