【发布时间】:2013-05-23 08:07:17
【问题描述】:
我使用的是 UoW,所以我认为问题在于这两个查询具有相同的上下文。
例如,如果我这样做:
IEnumerable listProjects = ((IQueryableUnitOfWork)UnitOfWork)
.CreateSet<Project>().Include(p=>p.Users).AsEnumerable();
然后我做:
IEnumerable listProjectsWithoutIncludes = ((IQueryableUnitOfWork)UnitOfWork)
.CreateSet<Project>().AsEnumerable();
在对象 listProjectsWithoutIncludes 中存储了项目的用户,就像我使用包含进行查询一样。
有人知道如何防止这种情况吗?谢谢。
【问题讨论】:
-
如果它是同一个工作单元,那么它按预期工作。如果您希望它们被隔离,那么您会使用不同的工作单元吗? UoW 的整个概念是您将动作组合在一起以形成一个工作单元。如果它们是不能交互的单独项目,那么它们不是工作单元的一部分吗?
-
感谢 Belogix,我不知道工作单元是这样工作的。
标签: c# linq include instance unit-of-work