2
我有1:n关系中的两个实体:链接,类别。在第一次,我得到所有类别和链接,并把它们列出。接下来我手动填写每个类别的链接,但是category.Links.Add(link)
连接到数据库并再次获取链接,并导致结果中的双重数据。我知道这个动作是因为延迟加载。延迟加载是真实的,我不想禁用它。如何在不连接到db的情况下手动填充每个类别的链接? 请不要提供Eager loading或disabeling懒惰负载。在实体框架中延迟加载的问题
var categories = categoryRepository.GetCategories().ToList();
var allLinks = linkRepository.GetLinks().ToList();
foreach (var category in categories)
{
var links = allLinks.Where(l => l.CategoryID == category.CategoryID);
foreach (var link in links)
{
category.Links.Add(link);
}
}
你能解释为什么你想要这个,你为什么要在同一时间使用延迟加载? – 2011-04-30 13:03:50
它只是一个样本。我使用这个解决方案来提高性能。我不想在同一时间使用延迟加载时执行此操作。我想在其他查询中使用延迟加载。 – 2011-04-30 17:45:03