我有一个从XML Schema创建的类。我有以下查询,查询返回为匿名方法
var test1 = from t in test.Test
join p in test.Params on t.Test_Id equals p.Test_Id
join p1 in test.Param on p.Params_Id equals p1.Params_Id
select new { Name = t.Name, Params = p1};
它返回4条记录,因为我有2个测试,每个测试有2个参数。
我使用匿名类型进行测试。我注意到在上面的例子中,Params实际上是ParamRow类型。
我想将它放入我自己的类中。
public class MyOwnClass
{
public string Name { get; set; }
public IList<Param> Params { get; set; }
}
我的Param是这样的,它包含在ILIST中
public class Param
{
public string Name { get; set; }
public bool Enabled { get; set; }
}
我遇到了在新课程中创建新“PARAM”并指定名称和已启用的问题。
Name should be assigned to p1.Name
和
Enabled should be assigned to p1.Enabled
所以我最终需要的是2个记录返回,每个记录为2个参数作为ILIST用它。
困惑: - )
有人可以帮忙吗?
因此我最终应该
Test1
Params
Param1
Param2
Test2
Params
Param1
Param2
我希望这有道理吗?
答案 0 :(得分:2)
这可以为您提供所需的内容
var test1 = from t in test.Test
select new MyOwnClass {
Name = t.Name,
Params = (from p in test.Params
join p1 in test.Param on p.Params_Id equals p1.ParamsId
where p.Test_Id == t.Test_Id
select new Param {
Name = p1.Name,
Enabled = p1.Enabled
}).ToList()
};