我有一个表"订单"与foreing键"ProductID".
我希望在网格中显示带有产品名称的订单,而不使用LazyLoad以获得更好的性能,但是如果使用DataLoadOptions,它会检索所有产品字段,这些字段就像过度杀伤一样.
有没有办法在第一个查询中只检索产品名称?我可以在DBML中设置一些属性吗?
在这个表中说Linq To SQL中的"外键值"是"可见的",但不知道这意味着什么.
编辑:更改了标题,因为我不确定没有解决方案.
不敢相信没有人有同样的问题,这是一个非常常见的情况.
你要求的是linq-to-sql没有提供的优化级别.我认为你最好的办法是创建一个完全返回所需数据的查询,可能是一个匿名类型:
from order in DB.GetTable() join product in DB.GetTable () on order.ProductID = product.ID select new { ID = order.ID, Name = order.Name, ProductName = product.Name };