1

我有一个关于 Linq 加入的问题。我总是有很多 DataTables 并加入他们,工作得很好。但是现在如果这些表是空的,那么这个列的标题也无法看到。我该怎么做,如果这些表是空的,它们无论如何都会显示这些标题。

表格1:

Name  LastName ...

表 2:

Name Comment ...

结果:

Name LastName Comment ...

我的代码是:

var res = from tb1 in Table1.AsEnumerable()
          join tb2 in Table2.AsEnumerable()
          on tb1.Field<String>("Name) equals tb2.Filed<String>("Name")
          Select new {
          Name = tb1.Field<String>("Name"),
          LastName= tb1.Field<String>("LastName"),
          Comment= tb2.Field<String>("Comment"),

但它不显示 res 的标题。我在这里做错了什么?}

4

1 回答 1

0

你能做这样的事情吗?


var foo = from t in Table1.AsEnumerable
          select new
          {
              Name = ...,
              LastName = ...,
              Comment = null
          };

var bar = from t in Table2.AsEnumerable select new { Name = ..., LastName = null, Comment = ... };

var res = from x in foo join y in bar on y.Name == x.Name select new { /*Name, LastName, Comment */}

注意,属性的顺序必须相同。

于 2012-10-31T14:46:21.287 回答