4

distinctLINQ での使用に問題があります。私はこのリストを持っています:

LineIdChanged   LineId  OldGatewayPCId  NewGatewayPCId  LineStringID    PlantID
1               93      83              88              160             2
2               93      83              88              161             2
3               94      82              87              162             2
4               94      82              87              163             2

私が試したのは、個別の LineId 値を取得することです。この場合、4 つのオブジェクトすべてではなく、2 つのオブジェクトのみを取得する必要があります。私はこれを試しました:

  var s = (from n in _dataBaseProvider.SelectPjdGatewayLineChanged(selectedSourcePlant.LPS_Database_ID)
          select new PjdGatewayLineChanged() { LineId = n.LineId, LpsLineNo = n.LpsLineNo, LineIdChanged = n.LineIdChanged}).Distinct();

  LinesOld = s.ToList();

しかし、これで 4 つのオブジェクトすべてが得られます。

4

4 に答える 4

3

MoreLINQ を使用する必要がありますDistinctBy

var s = 
    (from n in _dataBaseProvider.SelectPjdGatewayLineChanged
    (selectedSourcePlant.LPS_Database_ID)
    select new PjdGatewayLineChanged
    { 
        LineId = n.LineId,
        LpsLineNo = n.LpsLineNo, 
        LineIdChanged = n.LineIdChanged
    })
    .DistinctBy(p => p.LineId);
于 2013-08-05T11:45:41.643 に答える