【发布时间】:2009-07-17 04:06:13
【问题描述】:
在直接的 SQL 中,我可能会在一个简单的连接上包装一些逻辑,但是我如何在 LINQ to SQL 中有效地做到这一点?假设我有两张桌子:
父母
- 身份证
孩子
- 父母ID
- 身份证
- 姓名
理想情况下,我想要一个具有“Childs”属性的父对象图,该属性实际上是一个 Dictionary
建议?
【问题讨论】:
标签: .net sql linq-to-sql
在直接的 SQL 中,我可能会在一个简单的连接上包装一些逻辑,但是我如何在 LINQ to SQL 中有效地做到这一点?假设我有两张桌子:
父母
孩子
理想情况下,我想要一个具有“Childs”属性的父对象图,该属性实际上是一个 Dictionary
建议?
【问题讨论】:
标签: .net sql linq-to-sql
//set up dataloadoptions
DataLoadOptions options = new DataLoadOptions();
options.LoadWith<Parent>(item => item.Child);
context.LoadOptions = options;
var children = context.Parent.First().Child;
【讨论】:
类似这样的事情:
MyDataContext.Parents
.Select(p =>
new { p.ID,
Childs = p.Children.ToDictionary(c => c.ID, c => c.Name)
}
);
上面将投影一个具有两个属性的匿名类型:一个 ID(作为父母的)和一个包含孩子 ID 和姓名的字典。
【讨论】: