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 に答える