c# - linq to sql LoadWith 限制字段返回

标签 c# linq

有没有办法使用 LoadWith 但指定返回的字段?

例如,如果我有两个表 1) 产品 2) 类别

然后做类似的事情

DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<Products>(d => d.Categories);
db.LoadOptions = dlo;

MyDataContext db = new MyDataContext();
var result = from d in db.Products
             select d;

当我在探查器中检查查询时,我看到 Categories 表中的所有行都被返回了。我真正需要的只是“名称”字段。

我知道我可以使用连接重写查询,但我需要将结果集作为“产品”数据类型返回,这就是我使用 LoadWith 的原因。

最佳答案

不,LoadWith 做不到这一点。

您可以尝试在投影中使用嵌套查询,尽管这会很慢:每个父项 1 个查询(因此每个加载的产品查询 1 个相关类别)。

关于c# - linq to sql LoadWith 限制字段返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/456754/

相关文章:

c# - 计划的 .NET WebJob V3 示例

c# - 如何在 .NET 4.0 中正确使用 async/await

c# - Sitecore 内容搜索,转换为 List<item> 并编辑

c# - 编写简单的 LINQ 查询

c# - UnobtrusiveJavaScriptEnabled Spark View 引擎

c# - 通用接口(interface)中的索引器

c# - 如何拆分文件名和扩展名

Linq/EF、急切加载和 GROUP BY 问题

c# - 创建一个数组然后根据它进行选择

c# - 使用 Linq 从 Xml 获取特定节点