【发布时间】:2014-07-22 03:42:06
【问题描述】:
如果我在数据集中有单个数据表,以下逻辑将正常工作,但如果我在数据集中有两个表,我们如何修改以下逻辑以使其工作。
var empList = ds.Tables[0].AsEnumerable().Select(dataRow => new Employee{Name = dataRow.Field<string>("Name")}.ToList();
假设我有 Employee 类和一个嵌套对象。
Public class Employee
{
public string name;
public string ID;
public Jobdetails job;
}
Public class Jobdetails
{
public string role;
public string salary;
}
我必须检查数据集中是否有两个表。如果存在两个表,我必须将第一个表(它将具有员工姓名和 id)加载到 Employee 类和第二个表(它将具有角色和工资列)到员工类中的工作对象。
如果只有一个表,我必须将第一个表加载到员工对象并保持 jobdetails 对象为空,因为没有第二个表。
请告知实现上述场景的最佳方法是什么?
【问题讨论】:
-
您可以将数据集中的表数检查为:ds.Table.Count & 对于第二个表,您可以隐蔽地列出与员工相同的表,如果表数为 2,则只需将表 [0] 更改为表 [1] .
标签: c# asp.net collections linq-to-dataset