C# 如何正确使用linq有效地执行从数据表到一组递归对象的转换?
我正在开发处理测试的软件,使用VisualStudio2008,C3.5进行开发。这些测试保存到SQLite数据库中,我的软件用于处理结果。 嗯,有一个信息表,它收集了关于测试的一般信息,包括以下列: 层名称 分层突袭 图层名称 分层 图层名称 分层 图层名称 LayerDId 开始:指示结果表创建时间的日期时间。 停止:一个日期时间,用于指示上次修改结果表的时间。 ResultTableName:此表名用于使用VirtualMode在DataGridView中显示结果。 这些层使用它们的ID和顺便说一句,从层A到层C,层的行为就像收集子层的容器。只有最后一层layerD链接到数据库中的表 公共抽象类层 { 公共字符串名称{get;set;} 公共Int32 Id{get;set;} 公共日期时间开始{get;set;} 公共日期时间停止{get;set;} } 公共类项目:层 { 私有Int32 Id{get;set;} 公共字典为{get;set;} } 公共类层:层 { 公共项目父项{get;set;} 公共字典Bs{get;set;} } 公共类LayerB:层 { 公共层父层{get;set;} 公共字典Cs{get;set;} } 公共类LayerC:层 { 公共层B父层{get;set;} 公共字典Ds{get;set;} } 公共类LayerD:Layer { 公共层父层{get;set;} 公共字符串ResultTableName{get;set;} } 显然,如果一个childLayer.StartC# 如何正确使用linq有效地执行从数据表到一组递归对象的转换?,c#,linq,design-patterns,C#,Linq,Design Patterns,我正在开发处理测试的软件,使用VisualStudio2008,C3.5进行开发。这些测试保存到SQLite数据库中,我的软件用于处理结果。 嗯,有一个信息表,它收集了关于测试的一般信息,包括以下列: 层名称 分层突袭 图层名称 分层 图层名称 分层 图层名称 LayerDId 开始:指示结果表创建时间的日期时间。 停止:一个日期时间,用于指示上次修改结果表的时间。 ResultTableName:此表名用于使用VirtualMode在DataGridView中显示结果。 这些层使用它们的ID和
public class ConcreteLayer: Layer
{
public Layer Parent { get; set; }
public Dictionary<Int32, Layer> Children{ get; set; }
}
public class FinalLayer: Layer
{
public Layer Parent { get; set; }
public String ResultTableName { get; set; }
}
嗯,我应该重新编辑我发布的内容,不同的层A、B、C和D具有与此表无关的其他不同属性。这使得它们不同,无法关联,但我确实可以使用父类创建一个字典,同时它放松了层顺序,例如在树视图中,分配给级别0的节点是项目和响应。level1 LayerA、level2 LayerB、level3 LayerC、level4 Layer.LayerB有字典属性?可能吗?