
Linq To SQL: Can I eager load only one field in a joined table?我有一个表" orders",其前键为" ProductID"。 我想在带有产品名称的网格中显示订单,不使用LazyLoad以获得更好的性能,但是如果使用DataLoadOptions,它将检索所有Product字段,这看起来像是一个大材小用。
有没有办法在第一个查询中仅检索产品名称? 在此表中说" Linq To SQL"中的"外键值"是"可见",但不知道这意味着什么。
编辑:更改标题,因为我不太确定那里没有解决方案。 您要的是linq-to-sql不提供的优化级别。 我认为您最好的选择是创建一个查询,该查询将返回您想要的数据,可能是匿名类型:
我在另一个问题中得到了解决方案,哪个.net ORM可以处理这种情况,该问题与liammclennan答案有关,但更明确了(也许问题也更明确了) 如果仅在linq查询中选择所需的列,然后在查询上调用.ToList(),它将立即执行,并且只会带回您感兴趣的列。例如,如果执行以下操作:
您将返回存储在结果中的产品名称的列表,并且在服务器上执行查询时,只会带回ProductName列。 |